|
客户端通过浏览器的内置对象XMLHttpRequest来发送异步请求,当服务器返回响应时,会调用先前注册的回调函数,异步请求不会阻塞客户端的操作,达到页面无法刷新就可以更新数据的效果
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为“名=值”对。
|
|