javascript异步过程

实现异步请求与处理
[javascript]  view plain  copy
  1. function createXMLHTTP() {  //创建一个XMLHTTPRequest对象(根据不同浏览器调用不同的方法)  
  2.      var xmlHttp = false;  
  3.      try {  
  4.          if (window.XMLHttpRequest) {//针对FirFox,Mozilla,Opera,Safari,IE7,IE8  
  5.              xmlHttp = new XMLHttpRequest();  
  6.          } else if (window.ActiveXObject) {//通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象   
  7.              xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
  8.          } else {  
  9.              xmlHttp = null;  
  10.          }  
  11.      } catch (e) {  
  12.          alert(e);  
  13.      }  
  14.      return xmlHttp;  
  15.  }  
  16.   var xmlReq = createXMLHTTP();//1、创建一个XMLHTTPRequest对象  
  17.   function testAsynRequest() {  
  18.       var datastr = document.getElementById("stuName").value; //2, 获取文本框的value  
  19.       if (datastr.trim().length == 0) {  
  20.           alert("请输入姓名"); return;  
  21.       }  
  22.      var url = "/Handlers/AsycnHandler.ashx?action="+datastr;  
  23.      xmlReq.open("post", url, true);// 3, 设置连接信息  
  24.      xmlReq.setRequestHeader("Content-Type""application/x-www-form-urlencoded");  
  25.      xmlReq.send(null);//4,发送请求  
  26.      xmlReq.onreadystatechange = function () {  
  27.          if (xmlReq.readyState == 4) {//判断对象状态  
  28.              if (xmlReq.status == 200) {//判断http交互是否成功  
  29.                  var jsonDate = eval('(' + xmlReq.responseText + ')');  
  30.                  document.getElementsByTagName('p')[0].innerHTML = jsonDate.message;  
  31.                  //alert(jsonDate.message);  
  32.              }  
  33.              else if (xmlReq.status == 400) {  
  34.                  alert("Request URL is not found.");  
  35.              } else if (xmlReq.status == 403) {  
  36.                  alert("Access denied.");  
  37.              } else {  
  38.                  alert("status is" + xmlReq.status);  
  39.              }  
  40.          }  
  41.      };  
  42.       
  43.  }  

接收文件AsycnHandler.ashx

[csharp]  view plain  copy
  1. public void ProcessRequest(HttpContext context)  
  2.        {  
  3.            context.Response.ContentType = "text/plain";  
  4.            string action ="我是异步返回的:"+ context.Request["action"]+" 你成功了";  
  5.            // Thread.Sleep(1000);  
  6.            string jsonObject = "{\"message\":\"" + action + "\"}";  
  7.            context.Response.Write(jsonObject);  
  8.        }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值