`
stta04
  • 浏览: 113115 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

Ajax 长时间无响应问题

阅读更多

最近做索引,在action处理中,如果注释掉更新索引的方法,Ajax则可以正常响应,但是取消注释,则后台处理完成了,数据库的数据更新,索引的文档更新都完成后,页面却无任何反应,刚开始以为是ajax响应问题,所以网上找到这篇文章,不过,后来发现我的项目中并不是由于这个问题的所在,故不知该文是否是解决该问题的最终方案,但还是先收藏该文,以备后用。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

XML/HTML代码

/*

varhttp_request=false;

functionsend_request(url,method,postStr){//初始化,指定处理函数,发送请求的函数

http_request=false;

//开始初始化XMLHttpRequest对象

if(window.XMLHttpRequest){//Mozilla浏览器

http_request=newXMLHttpRequest();

if(http_request.overrideMimeType){//设置MIME类别

http_request.overrideMimeType("text/xml");

}

}

elseif(window.ActiveXObject){//IE浏览器

try{

http_request=newActiveXObject("Msxml2.XMLHttp");

}catch(e){

try{

http_request=newActiveXobject("Microsoft.XMLHttp");

}catch(e){}

}

}

if(!http_request){//异常,创建对象实例失败

window.alert("创建XMLHttp对象失败!");

returnfalse;

}

//确定发送请求方式,URL,及是否同步执行下段代码

http_request.open(method,url,true);

//不加下边这段POST不成功具体做啥的不知道

http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

if(method=="GET"){

http_request.send(null);

}else{

http_request.send(postStr);

}

}

*/

varhttp_request;

functioncreateXMLHttpRequest(){

if(window.ActiveXObject){

http_request=newActiveXObject("Microsoft.XMLHTTP");

}elseif(window.XMLHttpRequest){

http_request=newXMLHttpRequest();

}

}

functionsend_request(url,method,postStr){

createXMLHttpRequest();

//http_request.setRequestHeader("If-Modified-Since","0");

http_request.open(method,url,true);

http_request.setRequestHeader("If-Modified-Since","0");

if(method=="GET"){

http_request.send(null);

}else{

http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

http_request.send(postStr);

}

}

//处理返回信息的函数

functionprocessrequest(){

//alert(http_request.readyState);

//alert(reobj);

if(http_request.readyState==4){//判断对象状态

if(http_request.status==200){//信息已成功返回,开始处理信息

document.getElementById(reobj).innerHTML=http_request.responseText;

}

else{//页面不正常

alert(http_request.readyState);

alert("您所请求的页面不正常!");

}

}

}

functiondopage(obj,url){

document.getElementById(obj).innerHTML="正在读取数据...";

//alert(url);

send_request(url,"GET");

reobj=obj;

http_request.onreadystatechange=processrequest;

//http_request.onreadystatechange=alert(http_request.readyState);

}

//下拉菜单跳转选择静态第一页

functionGoToWhere(s,p)

{

varobj='result';

vard=s.options[s.selectedIndex].value;

surl="detail_list.php?status=2&pro_id="+p+"type="+d;

document.getElementById(obj).innerHTML="正在读取数据...";

send_request(surl,"GET");

reobj=obj;

//alert(http_request.readyState);

http_request.onreadystatechange=processrequest;

}

//post方法验证用户名与密码是否正确

functiongetCheck(){

varres=checkfrom();

if(res){

vardiscuzuser=document.getElementById("discuzuser").value;

if(discuzuser){

document.form2.submit();

}

else{

varusername=document.getElementById("username").value;

varpassword=document.getElementById("password").value;

varpostStr="username="+username+"password="+password;

//ajaxpost默认是UTF8去那边转码了

send_request("http://dp.cnmo.com/checkuser.php","POST",postStr);

http_request.onreadystatechange=function(){

if(http_request.readyState==4){

if(http_request.status==200){

varhttp_result2=http_request.responseText;

if(http_result2){

document.getElementById("checkuser").style.display="";

document.getElementById("checkuser").innerHTML=http_result2;

}else{

document.form2.submit();

}

}

}

}

}

}//endifres

}

关键一句

XML/HTML代码

http_request.setRequestHeader("If-Modified-Since","0");

分享到:
评论

相关推荐

    Ajax技术在矿用考勤系统中的应用

    Ajax技术通过XmlHttpEngineRequest对象向服务器发出异步请求,然后从服务器获得数据,再通过JavaScript操作DOM来更新页面,避免了用户因提交form而长时间等待服务器应答的情况。实际应用表明,采用Ajax技术设计的矿用...

    AJAX开发简略(附源代码)

    开发人员为了克服这种尴尬的局面,不得不在每一个可能需要长时间等待响应的页面上增加一个DIV,告诉用户“系统正在处理您的请求,请稍候……”。 现在,有一种越来越流行越热的“老”技术,可以彻底改变这种窘迫...

    Ajax长连接项目案例

    所谓的长连接,就是不断去发送请求,把请求阻塞在服务器端,每次超过请求时间就去重新发送请求,保持连接,随时获取服务器端的响应的数据 项目案例: 代码如下: function connection(){ $.ajax({ type:”GET”, url:...

    一种基于Ajax和SVG技术的煤矿安全监控系统

    传统的B/S模式在系统中的运用存在一些缺陷,如页面刷新速度较慢、占据空间较多、数据冗长繁多、反应时间长、浏览性低、交互效率低等,严重影响到客户端和服务器之间的信息交流,监测系统无法实时将矿井环境变化数据显示...

    jquery与php结合实现AJAX长轮询(LongPoll)

    HTTP是无状态、单向的协议,用户只能够通过客服端向服务器发送请求并由服务器处理发回...服务器与客服端需要保持一条长时间的请求,它使得服务器在有数据时可以返回消息给客户端。 XHTML &lt;div id=msg&gt;&lt;/div&gt; &lt;input

    AJAX开发简略 (第一部分).pdf

    在使用浏览器浏览网页的时候,当页面刷新很慢的时候,你的浏览器在干...开发人员为了克服这种尴尬的局面,不得不在每一个可能需要长时间等待响应的页面上增加一个DIV,告诉用户“系统正在处理您的请求,请稍 候……”。

    一种建立Web应用的新途径—ajax

    开发人员为了克服这种尴尬的局面,不得不在每一个可能 需要长时间等待响应的页面上增加一个DIV,告诉用户“系统正在处理您的请求,请稍候……”。 现在,有一种越来越流行越热的“老”技术,可以彻底改变这种窘迫的...

    如何解决Ajax的content-download时间过慢问题

    今天这篇文章给大家介绍关于ajax的content-download时间过慢问题的解决与思考。 事件背景: 开发人员反馈给我一个bug,ajax相应速度很慢,经过定位,速度慢的原因在于,content-download时间过长,在chrome中有2s+的...

    图文解析AJAX的原理

    如果服务器长时间未能返回Response,则客户端将会无响应,用户体验很差。  3.服务端返回Response后,浏览器需要加载整个页面,对浏览器的负担也是很大的。  4.浏览器提交表单后,发送的数据量大,造成网络的性能...

    基于AJAX技术的电子商务系统研究及应用

    传统的电子商务网站使用同步交互过程,使得用户在访问电子商务网站时需要等待较长时间或重复操作,导致大量客户流失。本文对AJAX技术及其工作原理进行了深入研究,通过分析传统的商务系统请求/响应方式所带来的用户...

    ajax基础及应用

    在使用浏览器浏览网页的时候,当页面刷新很慢的时候,你的浏览器在干...开发人员为了克服这种尴尬的局面,不得不在每一个可能需要长时间等待响应的页面上增加一个DIV,告诉用户“系统正在处理您的请求,请稍候……”。

    googleCDNChange_解决googleapis域名不可用或慢导致的网页加载问题.zip

    ajax.googleapis.com ajax.googleapis.com - 前端公共库 下载ReplaceGoogleCDN然后解压,找到chrome子目录 打开Chrome,输入: chrome://extensions/ 勾选Developer Mode 选择Load unpacked extension...然后...

    AJAX开发简略

    开发人员为了克服这种尴尬的局面,不得不在每一个可能需要长 时间等待响应的页面上增加一个DIV,告诉用户“系统正在处理您的请求,请稍候……”。 现在,有一种越来越流行越热的“老”技术,可以彻底改变这种...

    ajax与websocket的区别以及websocket常用使用方式 介绍

    1.前端如果调用的接口后端操作事件过长可能会导致返回操作响应时间过长,如果此时用户单击其他页面的时候就会导致返回操作无法正常解决。 2.如果后端有什么比较重要的问题需要推送给前端消息,这个时候前端是无法...

    AJAX开发简略 (第一部分)

    开发人员为了克服这种尴尬的局面,不得不在每一个可能需要长时间等待响应的页面上增加一个DIV,告诉用户“系统正在处理您的请求,请稍候……”。  现在,有一种越来越流行越热的“老”技术,可以彻底改变这种窘迫的...

    AJAX开发简略(第一部分)

    开发人员为了克服这种尴尬的局面,不得不在每一个可能需要长时间等待响应的页面上增加一个DIV,告诉用户“系统正在处理您的请求,请稍候……”。现在,有一种越来越流行越热的“老”技术,可以彻底改变这种窘迫的...

    表单的验证

    例如用户通常希望每一次按钮点击会导致几秒的延迟和屏幕刷新,但AJAX正在打破这种长时间的状况。因此用户需要重新体验按钮点击的响应了。  可用性是AJAX另人激动的地方而且已经产生了几种新颖的技术。其中最...

    Ajax 技术在WebGIS 系统中的性能优化研究

    摘要:为了提高WebGIS系统地图图像数据响应效率,将Ajax技术运用于WebGIS系统开发中,重点分析了基于Ajax的数据交互及方法实现,Ajax的动态数据请求在很大程度上解决了WebGIS数据显示不流畅的问题,具有广泛的应用...

    基于Asp.net Ajax技术的民主评议系统设计与实现

    Ajax技术较好地解决了传统Web开发中数据整页提交、系统响应时间较长的问题,使用户操作与服务器响应异步化,可将当前Web应用中的一些服务器负担转移到客户端,便于资源处理。同时,结合网上民主评议系统具体说明了...

    Loadrunner从零开始

    但是对于胖客户端Web应用来说,比如Java applet、AJAX,由于客户端内嵌了大量的逻辑处理,耗费的时间有可能很长,从而成为系统的瓶颈,这是要注意的一个地方。 那么客户感受的响应时间其实是等于客户端响应时间+...

Global site tag (gtag.js) - Google Analytics