ajax的页面提示处理

80酷酷网    80kuku.com

  ajax|页面

ajax的页面提示处理
                                      
 

现象:由于现有系统必须在b/s下实现实时数据显示及tip显示,当鼠标移到某一<div>时,系统采用ajax的方式向后台取数据。在取数据的过程中常常发现系统进程停顿的情况,主要表现为:所有系统进程停顿,鼠标不起作用。

原因:

原有系统采用了同步的方式进行提交,代码如下:

var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("post", "testto.jsp", false);//同步
xmlhttp.Send(doc);
return xmlhttp.responseText;

把上面的请求改为异步,即把xmlhttp.Open("post", "testto.jsp", true);时出现javascript脚本错误。

解决办法:

var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.Open("post", "maptipto.jsp", true);
    xmlhttp.Send(doc);
    xmlhttp.onreadystatechange=function(){ //回调函数
       if(xmlhttp.readyState==4&&){
           if(xmlhttp.status==200){
                var text = xmlhttp.responseText;
                //todo 处理函数
                dosometing();
           } else {
                alert("您所请求有异常。");
           }
                       
       } else{
           //提示函数
           document.getElementById("messageDiv").innerHTML="读取数据中,请稍候……";
       }
    }

说明:采用回调函数的方式处理请求。处理函数应该放在回调函数之内而不应该放在回调函数之外


 



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: