Ajax的技术核心是XMLHttpRequest
第一步:var xhr=new XMLHttpRequest();
第二步:xhr.open(),它接受三个参数:要发送的请求类型("get"、“post”)、请求的URL和表示是否异步发送请求的布尔值,如xhr.open("get","example.php",false); 其中URL是相对于执行代码的当前页面(当然也可以使用绝对路径);二调用open()的方法并不会真正发送请求,而只是启动一个请求以备发送;false代表同步请求
第三步:xhr.send(null),send()方法可以接收一个参数,即作为请求主体发送的数据,如果不需要通过请求主体发送数据,则必须传入null
大多数是发送异步请求,才能让javascript继续执行而不必等待响应,调用open之前制定onreadystatechange事件处理程序才能确保跨浏览器兼容性。
例如:
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
if((xhr.status>=200 && xhr.status<300 ) || xhr.status==304){
alert(xhr.responseText);
}else{
alert("Request was unsucessful:"+xhr.status);
}}};
xhr.open(“get”,“example.txt”,true);
xhr.send(null);
其中readyState取值(0-4)0:未初始化,尚未调用open()方法。1:启动,已经调用open()方法,但尚未调用send()方法;2:发送 已经调用send()方法,但尚未收到响应。3:接收,已经接收到部分响应数据。4:完成已经接收到全部响应数据,而且已经可以在客户端使用了。
另外接收到响应之前可以调用abort()方法取消异步请求。xhr.abort();调用之后xhr会停止触发事件对象,而且也不再允许访问任何和响应有关的属性。
http头部信息
cookie :当前页面页面设置的任何cookie
网友评论