ajax的工作原理以及异步请求的封装介绍
程序员文章站
2023-12-26 18:56:03
ajax原理: 客户端通过浏览器的内置对象xmlhttprequest来发送异步请求,当服务器返回响应时,会调用先前注册的回调函数,在回调函数中可以使用javascript...
ajax原理:
客户端通过浏览器的内置对象xmlhttprequest来发送异步请求,当服务器返回响应时,会调用先前注册的回调函数,在回调函数中可以使用javascript操作dom来更新页面,异步请求不会阻塞客户端的操作,达到页面无法刷新就可以更新数据的效果。
异步请求的封装:
var xhr=false;
//step1:创建一个兼容浏览器各个版本的xmlhttprequest对象
if (window.xmlhttprequest) { //ie7+, firefox, chrome, opera, safari
xhr = new xmlhttprequest();
} else {
if (window.activexobject) { //ie浏览器
xhr = new activexobject("microsoft.xmlhttp");//ie5+
}
}
//step2:设置回调函数
xhr.onreadystatechange = mycallback;
//step3:创建一个异步请求
xhr.open("method", "url", true);
//如果是post:要设置请求消息体数据的编码方式
xhr.setrequestheader("content-type","application/x-www-form-urlencoded");
//step4:发送异步请求
xhr.send(content); //如果是get方式 content为null,若为post,content为“名=值”对。
客户端通过浏览器的内置对象xmlhttprequest来发送异步请求,当服务器返回响应时,会调用先前注册的回调函数,在回调函数中可以使用javascript操作dom来更新页面,异步请求不会阻塞客户端的操作,达到页面无法刷新就可以更新数据的效果。
异步请求的封装:
复制代码 代码如下:
var xhr=false;
//step1:创建一个兼容浏览器各个版本的xmlhttprequest对象
if (window.xmlhttprequest) { //ie7+, firefox, chrome, opera, safari
xhr = new xmlhttprequest();
} else {
if (window.activexobject) { //ie浏览器
xhr = new activexobject("microsoft.xmlhttp");//ie5+
}
}
//step2:设置回调函数
xhr.onreadystatechange = mycallback;
//step3:创建一个异步请求
xhr.open("method", "url", true);
//如果是post:要设置请求消息体数据的编码方式
xhr.setrequestheader("content-type","application/x-www-form-urlencoded");
//step4:发送异步请求
xhr.send(content); //如果是get方式 content为null,若为post,content为“名=值”对。