AJAX入门 之 XMLHttpRequest对象的属性(一)
Ajax的核心技术包括
abort() send(string); // string 仅用于 POST 请求
setRequestHeader("header","value") 此方法必须在open后面调用,作用是设置在HTTP请求消息中设置一个首部key/value对。GET请求方式下一般不用设置,但是在POST方式下需要设置一个Content-Type信息: XMLHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 如果需要利用ajax上传文件,则应该这样设置: XMLHttpRequest.setRequestHeader("Content-Type","mulipart/form-data"); 除了上述方法,XMLHttpRequest对象还提供了一些属性,处理AJAX响应的时候将会大量使用到它们。 onreadystatechange 这个属性关联一个JavaScript回调函数,每当readyState属性值改变时,就会调用一次。 readyState HTTP请求的状态,只能有5个可选的值, 0 = uninitialized,1 = loading,2 = loaded,3 = interactive,and 4 = complete.最重要的是readyState==4, 这时请求响应才真正完成,可以进行数据的操作。例如判断HTTP响应码是否是200。readyState值每变化一次,回调函数就被调用一次,但不可依 据调用次数和顺序来编码,因为不同浏览器实现不一样,有时候IE上会执行6次,有时候某个状态码会执行多次。所以一般只要在代码里面加上 if(readyState==4){}在代码块中实现自己的逻辑。注意:XMLHttpRequest对象刚new出来的时候,readyState的值是0。 responseText 该属性代表的是从Server端返回的一个string格式的响应。 responseXML 代表从Server端传回的XML格式的数据,可以直接被当作DOM对象使用。 status 这个在HTTP响应中的响应码。200代表响应成功,所以一般在status==200才进行响应数据的操作,如果不是200,那说明HTTP响应不正常,也就不用处理。 statusText HTTP协议中跟在响应码后面的相应说明串。例如200 后面就会跟着OK。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |