- function createXMLHTTP() { //创建一个XMLHTTPRequest对象(根据不同浏览器调用不同的方法)
- var xmlHttp = false;
- try {
- if (window.XMLHttpRequest) {//针对FirFox,Mozilla,Opera,Safari,IE7,IE8
- xmlHttp = new XMLHttpRequest();
- } else if (window.ActiveXObject) {//通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象
- xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
- } else {
- xmlHttp = null;
- }
- } catch (e) {
- alert(e);
- }
- return xmlHttp;
- }
- var xmlReq = createXMLHTTP();//1、创建一个XMLHTTPRequest对象
- function testAsynRequest() {
- var datastr = document.getElementById("stuName").value; //2, 获取文本框的value
- if (datastr.trim().length == 0) {
- alert("请输入姓名"); return;
- }
- var url = "/Handlers/AsycnHandler.ashx?action="+datastr;
- xmlReq.open("post", url, true);// 3, 设置连接信息
- xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- xmlReq.send(null);//4,发送请求
- xmlReq.onreadystatechange = function () {
- if (xmlReq.readyState == 4) {//判断对象状态
- if (xmlReq.status == 200) {//判断http交互是否成功
- var jsonDate = eval('(' + xmlReq.responseText + ')');
- document.getElementsByTagName('p')[0].innerHTML = jsonDate.message;
- //alert(jsonDate.message);
- }
- else if (xmlReq.status == 400) {
- alert("Request URL is not found.");
- } else if (xmlReq.status == 403) {
- alert("Access denied.");
- } else {
- alert("status is" + xmlReq.status);
- }
- }
- };
- }
接收文件AsycnHandler.ashx
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- string action ="我是异步返回的:"+ context.Request["action"]+" 你成功了";
- // Thread.Sleep(1000);
- string jsonObject = "{\"message\":\"" + action + "\"}";
- context.Response.Write(jsonObject);
- }