标签:hang type doctype set ror ready get请求 更新 pen
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <script type="text/javascript"> 5 window.onload = function(){ 6 //1,取得a节点,并为其添加onclick响应函数。 7 document.getElementsByTagName("a")[0].onclick = function(){ 8 //3,创建一个XMLHttpRequest对象 9 var request = new XMLHttpRquest(); 10 //4,准备发送请求的url 11 var url = this.href; 12 //带时间戳的url: url = this.href + "?time" + new date() (这里的date()对象是js的对象) 13 //使用这种url,每次都会new一个新的date对象,保证每次时间更新。能起到禁用缓存的效果 14 var method = "GET"; 15 //5,调用XMLHttpRequest对象的open方法 16 //open(method, url asynch) 17 //XMLHttpRquest的open方法允许程序员用一个ajax调用向服务器发送请求 18 //参数:method,请求类型,类似于"GET"或者"POST"的字符串。若只想从服务器检索一个文件,而不 19 //需要发送任何数据,使用GET(可以在GET请求里面通过附加在URL上的查询字符串来发送数据,不过 20 //数据大小限制为2000个字符)。若需要向服务器发送数据,用POST。 21 //在某些情况下,有些浏览器会把多个XMLHttpRequest请求的结果缓存在同一个URL,如果对每个请求 22 //的响应不同,就会带来不好的结果。在此将时间戳追加到URL的最后,就能确保URL的唯一性,从而 23 //避免浏览器缓存结果。 24 //参数:url,路径字符串,指向你所请求的服务器上的那个文件。可以是绝对路径或者相对路径。 25 //参数:asynch,表示请求是否要异步传播,默认值为true。指定true,在读取后面的脚本之前,不需 26 //要等待服务器的响应。指定false,当脚本处理过程中经过这点时,会停下来,一直等到ajax请求执行 27 //完毕再继续执行 28 request.open(method, url); 29 //6,调用XMLHttpRequest对象的send方法 30 //request.setRequestHeader("ContentType", "application/x-www.hello.com"); 31 //request.send("name=‘foratest‘"); 32 request.send(null); 33 //7, 为XMLHttpRequest对象添加onreadystatechange响应函数 34 //onreadystatechange事件处理函数由服务器触发,而不是用户 35 //在ajax执行过程中,服务器会通知客户端当前的通信状态。这依靠更新XMLHttpRquest对象的 36 //readyState来实现。改变readystate属性是服务器对客户端连接操作的一种方式。 37 //每次readystate属性的改变都会触发readystatechange事件。如果把onreadystatechange事件处理函 38 //数赋给一个函数,那么每次readyState值的改变都会引发该函数的执行。 39 //readystate属性表示Ajax请求的当前状态。它的值用数字代表。 40 //0代表未初始化,还没有调用open方法。 41 //1代表正在加载,open方法已经被调用,send方法还没有被调用。 42 //2代表已加载完毕,send已被调用,请求已经开始。 43 //3代表交互中,服务器正在发送响应。 44 //4代表完成。响应发送完毕。 45 //readyState值的变化会因浏览器的不同而有所差异,但是当请求结束的时候,每个浏览器都会把 46 //readyState的值统一设为4 47 request.onreadystatechange = function(){ 48 //8,判断响应函数是否完成:XMLHttpReauest对象的readyState 属性值为4 的时候 49 //status:服务器发送的每一个响应也都带着首部信息,三位数的状态码是服务器发送的响应中最重要 50 //的首部信息,并且属于超文本传输协议中的一部分。 51 //常用状态吗机器含义: 52 //404没找到页面(not found) 53 //403禁止访问(forbidden) 54 //500内部服务器出错(internal service error) 55 //200一切正常(OK) 56 //304没有被修改(not modified) 57 //在XMLHttpRequest对象中,服务器发送的状态码都保存在status属性里。通过把这个值和200或304 58 //比较,可以确保服务器是否已成功发送一个成功的响应 59 if(request.status == 200 || request.status == 304){ 60 alert(request.responseText); 61 } 62 } 63 return false; 64 } 65 } 66 </script> 67 </head> 68 <body> 69 <a href="helloajax.txt">hello ajax !</a> 70 </body> 71 </html>
标签:hang type doctype set ror ready get请求 更新 pen
原文地址:http://www.cnblogs.com/flyfish919/p/6512625.html