AJAX XMLHttpRequest -----JQUERY
AJAX的核心XMLHttpRequest
<html> <head><script type="text/javascript"> var xmlhttp; function loadXMLDoc(url) { xmlhttp=null; if (window.XMLHttpRequest) {// all modern browsers xmlhttp=new XMLHttpRequest(); } else if (window.ActiveXObject) {// for IE5,IE6 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if (xmlhttp!=null) { xmlhttp.onreadystatechange=state_Change; xmlhttp.open("GET",url,true); xmlhttp.send(null); } else { alert("Your browser does not support XMLHTTP."); } } function state_Change() { if (xmlhttp.readyState==4) {// 4 = "loaded" if (xmlhttp.status==200) {// 200 = "OK" document.getElementById('p1').innerHTML="This file was last modified on: " + xmlhttp.getResponseHeader('Last-Modified'); } else { alert("Problem retrieving data:" + xmlhttp.statusText); } } } </script> </head> <body> <p id="p1"> The getResponseHeader() function returns a header from a resource. Headers contain file information like length, server-type,content-type,date-modified,etc.</p> <button onclick="loadXMLDoc('/example/xdom/test_xmlhttp.txt')">Get "Last-Modified"</button> </body> </html>
22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221111 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221111 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221111
function createHttpRequest() { var httpRequest = null; //针对IE7,火狐,谷歌等其他浏览器 if (window.XMLHttpRequest) { httpRequest = new XMLHttpRequest(); //针对某些特定版本的mozillar浏览器的BUG进行修正 /* 如果来自服务器的响应没有 XML mime-type 头部,则一些版本的 Mozilla 浏览器不能正常运行。 对于这种情况,httpRequest.overrideMimeType('text/xml'); 语句将覆盖发送给服务器的头部,强制 text/xml 作为 mime-type。 */ if (httpRequest.overrideMimeType) { httpRequest.overrideMimeType("text/xml"); } return httpRequest; } //针对IE5,IE6浏览器 if (window.ActiveXObject) { try { httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (ex) { alert("创建XMLHTTPRequest对象失败!"); } } } return httpRequest; } function callServer(token) { var http_request = createHttpRequest(); if (http_request == null) { return; } /* 我们的实例在 open() 的第三个参数中使用了 "true"。 该参数规定请求是否异步处理。 True 表示脚本会在 send() 方法之后继续执行,而不等待来自服务器的响应。 onreadystatechange 事件使代码复杂化了。但是这是在没有得到服务器响应的情况下,防止代码停止的最安全的方法。 通过把该参数设置为 "false",可以省去额外的 onreadystatechange 代码。如果在请求失败时是否执行其余的代码无关紧要,那么可以使用这个参数。 */ http_request.open("GET","https://web.bd.taobizhong.com/Goods/AliPayStatus",true); //向服务器发送请求 http_request.send(); //当readyState属性改变的时候调用的事件句柄函数。当 readyState 为 3 时,它也可能调用多次。 http_request.onreadystatechange = function () { //HTTP 请求的状态.当一个 XMLHttpRequest 初次创建时,这个属性的值从 0 开始,直到接收到完整的 HTTP 响应,这个值增加到 4 if (http_request.readyState == 4) { //指定了请求的 HTTP 的状态代码(200表示正常,404表示未找到) if (http_request.status == 200) { document.getElementById("showmsg").innerHTML = http_request.responseText; } } } /* 当前是使用GET方式提交数据,数据都放在URL后面 而POST方法是把要发送的东西放到HTTP HEAD里面,这样最大可以发送2G的数据, 但用POST方法的时候一定要先使用setRequestHeader方法把Content-Type设置为"application/x-www-form-urlencoded", */ // content = "user=" + encodeURIComponent("gongxiongwei"); //http_request.open("POST","WebForm2.aspx",false); http_request.open("GET",true); http_request.setRequestHeader("GAME_TOKEN",token); // http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //http_request.send(content); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |