一个AJAX问题

问题描述

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>无标题页</title><scripttype="text/javascript">varxmlHttp;functioncreateXmlHttpRequest(){if(window.ActiveXObject){xmlHttp=newActiveXObject("Microsoft.XMLHTTP");}elseif(window.XMLHttpRequest){xmlHttp=newXMLHttpRequest();}}functiondostart(){createXmlHttpRequest();varurl="DynamicUpdate.aspx?task=reset";xmlHttp.open("GET",url,true);xmlHttp.onreadystatechange=startCallback;xmlHttp.send(null);}functionstartCallback(){if(xmlHttp.readyState==4){if(xmlHttp.status==200){setTimeout("pollServer()",5000);refreshTime();}}}functionpollServer(){createXmlHttpRequest();varurl="DynamicUpdate.aspx?task=foo";xmlHttp.open("GET",url,true);xmlHttp.onreadystatechange=pollCallback;xmlHttp.send(null);}functionpollCallback(){if(xmlHttp.readyState==4){if(xmlHttp.status==200){varmessage=xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;if(message!="done"){varnew_row=createRow(message);vartable=document.getElementById("dynamicUpdateArea");vartable_body=table.getElementsByTagName("tbody").item(0);varfirst_row=table_body.getElementsByTagName("tr").item(1);table_body.insertBefore(new_row,first_row);setTimeout("pollServer()",5000);refreshTime();}}}}functioncreateRow(message){varrow=document.createElement("tr");varcell=document.createElement("td");varcell_data=document.createTextNode(message);cell.appendChild(cell_data);row.appendChild(cell);returnrow;}functionrefreshTime(){vartime_span=document.getElementById("time");vartime_val=time_span.innerHTML;varint_val=parseInt(time_val);int_val--;if(int_val>-1){setTimeout("refreshTime()",1000);time_span.innerHTML=int_val;}else{time_span.innerHTML=5;}}</script></head><body><h1>Ajax动态刷新实例</h1>页面将自动刷新自己:<inputtype="button"value="启动"id="go"onclick="dostart();"/><p>页面将在<spanid="time">5</span>秒后自动刷新</p><tableid="dynamicUpdateArea"style="text-align:left"><tbody><trid="row0"><td></td></tr></tbody></table></body></html>

DynamicUpdate.aspxusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclassDynamicUpdate:System.Web.UI.Page{privateintcounter=1;protectedvoidPage_Load(objectsender,EventArgse){stringres="";stringtask=Request.Params["task"];stringmessage="";if(task=="reset"){counter=1;Session["counter"]=1;}else{counter=(int)Session["counter"];switch(counter){case1:message="Stevewalksonstage";break;case2:message="ipodsrock";break;case3:message="StevesaysMacsrule";break;case4:message="Changeiscoming";break;case5:message="Yes,OSXrunsonIntel-hasforyears";break;case6:message="MacwillsoonhaveIntelchips";break;case7:message="done";break;}counter++;Session["counter"]=counter;}res="<message>"+message+"</message>";Response.ContentType="text/xml";Response.Write(res);}}

运行时为什么总显示Stevewalksonstage

解决方案

解决方案二:
privateintcounter=1;
解决方案三:
奇怪的是在firefox中没有问题
解决方案四:
引用1楼MAOGE1987的回复:

privateintcounter=1;

我知道所以才放在session中

时间: 2024-10-26 20:29:33

一个AJAX问题的相关文章

一个ajax最简单的问题困扰了好久啊,求大神帮忙看看,后台是vb.net的

问题描述 一个ajax最简单的问题困扰了好久啊,求大神帮忙看看,后台是vb.net的 前台的ajax是这样的: <script type="text/javascript"> $(function () { $("#button1").click(function () { $.ajax({ type: "post", url: "ajax.aspx/ajaxtext", dataType: "text&

一个Ajax类

ajax 一个Ajax类function Ajax(url,recvT,stringS,resultF) {    this.url = url;    this.stringS = stringS;    this.xmlHttp = this.createXMLHttpRequest();    if (this.xmlHttp == null) {        alert("erro");        return;    }    var objxml = this.xml

奇怪,为什么我问了一个ajax的一个问题,会被删除?

问题描述 奇怪,为什么我问了一个ajax的一个问题,会被删除? 是因为ajax的问题不能问,还是什么原因?难道是涉及一些法律问题,还是什么? 解决方案 一个奇怪的问题一个很奇怪的问题

Qunit使用场合的问题?一开始编写一个ajax方法就测试吗

问题描述 Qunit使用场合的问题?一开始编写一个ajax方法就测试吗 有谁知道哇?我觉得断言和js去比较没什么区别呀,我是菜鸟求帮忙 解决方案 它是一个自动测试框架,参考http://tech.ddvip.com/2013-08/1375646488200262.html 解决方案二: 它是jquery提供的官方测试套件,进行单元测试的,应该是你实现了你功能模块等后,对模块进行ut时使用这个框架,这样以后你再次修改模块等,就可以用这个写好的ut程序测试你的代码改动是否带来副作用.

也写一个Ajax.Request类附代码_AJAX相关

目的:因为blog程序里的某些模块需要用到ajax,直接使用prototype.js体积比较大(40多k),而且仅仅用到其中的ajax功能,因此为了减轻下载的负担,又不能改动已经在prototype.js框架下写好的代码,只能是按照prototype的风格,自己写一个ajax类,达到零成本移植框架. 新的ajax类如下: var Ajax = {xmlhttp:function(){ try{ return new ActiveXObject('Msxml2.XMLHTTP'); }catch(

用JS写的一个Ajax库(实例代码)_javascript技巧

myajax是一个用js编写的一个跨浏览器的ajax库,支持get, post, jsonp请求,精巧,简单. 一.发送GET请求: myajax.get({ <span style="white-space:pre"> </span>data: {}, //参数 url: "", //请求地址 //发生错误是调用 error: function(data) { }, //请求成功调用 success: function(data){ <

原生Javascript封装的一个AJAX函数分享_javascript技巧

最近的工作中涉及到大量的ajax操作,本来该后台做的事也要我来做了.而现在使用的ajax函数是一个后台人员封装的--但他又是基于jquery的ajax,所以离开了jquery这个函数就毫无作用了.而且我觉得,jquery的ajax方法是很完善的了,可以直接用,如果都有jquery了,那么他的ajax就不用白不用了.我缺少的是一个能在没有jquery的情况下使用的ajax方法. 所以我也花一天时间写了一个,参数与调用方法类似于jquery的ajax.就叫xhr吧,因为xhr=XMLHttpRequ

前台请求一个ajax,导出一个word,如果导出成功则返回一个成功标志报错

问题描述 前台请求一个ajax,导出一个word,如果导出成功则返回一个成功标志,代码如下,为什么执行到红色的哪一行就报错了呢,错误如下:严重: Servlet.service() for servlet action threw exceptionjava.lang.IllegalStateException: getOutputStream() has already been called for this response 代码如下:if("AJAXEXPORTWORD".eq

做了一个ajax在后台查数据, 前台接收转成html赋值给div显示在界面上,返回的数据是对的,赋值过后div值也是对的,显示出来是错的

问题描述 做了一个ajax传文件的,在后台上传成功后,查询数据库的最新数据返回,前台接收转成html赋值给div显示在界面上,div显示的内容是和数据库一样的,在做删除操作完毕后,查询数据返回到前台,返回值是对的,调试时看到给div赋值后div的值也是对的,界面上会显示正确的值后继续运行就跳到别的js里面了,这个时候界面上显示的值就是错的了,代码应该是在赋值操作完毕后就结束整个查询动作,但是不知道什么原因又开始执行别的代码块,对于同步异步这个概念不是很清晰,是不是界面还没来的及显示出来就被别的动

jquery创建一个ajax关键词数据搜索实现思路_jquery

 在web开发过程当中,我们经常需要在前台页面输入关键词进行数据的搜索,我们通常使用的搜索方式是将搜索结果用另一个页面显示,这样的方式对于搭建高性能网站来说不是最合适的,今天给大家分享一下如何使用 jQuery,MySQL 和 Ajax创建简单和有吸引力的 Ajax 搜索,这是继<使用jQuery打造一个实用的数据传输模态弹出窗体>第二篇jquery项目实际运用的教程,希望大家在开发项目的时候能够根据自己的实际情况灵活运用 点击搜索默认显示所有的结果 输入A之后显示的搜索结果 输入 p之后显示