小编给大家分享一下Ajax+js实现异步交互的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。
利用ajax实现异步交互无非4步:
创建ajax核心对象
与服务器建立连接
向服务器发送请求
接收服务器响应的数据
看似神秘的异步交互当明确这4步后,也许在大家脑海里已经有了初步的思路了
首先我们创建ajax的核心对象,由于浏览器的兼容问题我们在创建ajax核心对象的时候不得考虑其兼容问题,因为要想实现异步交互的后面步骤都基于第一步是否成功的创建了ajax核心对象.
function getXhr(){ // 声明XMLHttpRequest对象 var xhr = null; // 根据浏览器的不同情况进行创建 if(window.XMLHttpRequest){ // 表示除IE外的其他浏览器 xhr = new XMLHttpRequest(); }else{ // 表示IE浏览器 xhr = new ActiveXObject('Microsoft.XMLHttp'); } return xhr; } // 创建核心对象 var xhr = getXhr();
通过上述代码我们已经成功的创建了ajax核心对象,我们保存在变量xhr中,接下来提到的ajax核心对象都将以xhr代替.
第二步就是与服务器建立连接,通过ajax核心对象调用open(method,url,async)方法.
open方法的形参解释:
method表示请求方式(get或post)
url表示请求的php的地址(注意当请求类型为get的时候,请求的数据将以问号跟随url地址后面,下面的send方法中将传入null值)
async是个布尔值,表示是否异步,默认为true.在最新规范中这一项已经不在需要填写,因为官方认为使用ajax就是为了实现异步.
xhr.open("get","01.php?user=xianfeng");//这是get方式请求数据 xhr.open("post","01.php");//这是以post方式请求数据
第三步我们将向服务器发送请求,利用ajax核心对象调用send方法
如果是post方式,请求的数据将以name=value形式放在send方法里发送给服务器,get方式直接传入null值
xhr.send("user=xianfeng");//这是以post方式发送请求数据 xhr.send(null);//这是以get方式
第四步接收服务器响应回来的数据,使用onreadystatechange事件监听服务器的通信状态.通过readyState属性获取服务器端当前通信状态.status获得状态码,利用responseText属性接收服务器响应回来的数据(这里指text类型的字符串格式数据).后面再写XML格式的数据和大名鼎鼎的json格式数据.
xhr.onreadystatechange = function(){ // 保证服务器端响应的数据发送完毕,保证这次请求必须是成功的 if(xhr.readyState == 4&&xhr.status == 200){ // 接收服务器端的数据 var data = xhr.responseText; // 测试 console.log(data); } };
以上是“Ajax+js实现异步交互的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。