创建对象 > 请求 > 响应
GET 还是 POST?
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
然而,在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)向服务器发送大量数据(POST 没有数据量限制)发送包含未知字符的用户输入1 var AjaxFlux = function AjaxFlux(url) 2 { 3 var xmlhttp; 4 var requesttxt; 5 6 // 为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。 7 //如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject : 8 if (window.XMLHttpRequest) 9 { 10 // 所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。 11 xmlhttp=new XMLHttpRequest(); 12 } 13 else 14 { 15 //老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象: 16 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 17 } 18 19 20 this.postResult = function(d){ 21 22 if(!xmlhttp){ 23 return; 24 } 25 26 //准备向服务器的GetDate.ashx发出Post请求。 27 xmlhttp.open("POST" , url , false); 28 xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 29 xmlhttp.send(d); 30 31 //响应 32 //存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。 readyState 33 0: 请求未初始化 34 1: 服务器连接已建立 35 2: 请求已接收 36 3: 请求处理中 37 4: 请求已完成,且响应已就绪 38 //status 39 200: "OK" 40 404: 未找到页面 41 xmlhttp.onreadystatechange=function(){ 42 if(xmlhttp.readyState==4){ 43 if(xmlhttp.status==200){ 44 requesttxt=xmlhttp.responseText; 45 46 } 47 } 48 } 49 } 50 return requesttxt; 51 52 }