Ajax服务要原理 简单总结

  刚开头以为Ajax是同种新的语言,接触后才亮,ajax是用于服务器交换数据并创新部分网页的Web应用程序的技艺。

率先浅相Ajax请求代码时,感觉一体面萌逼,这些代码竟然拿后台数据要过来了,神奇啊。但是写着形容着第二上更写的早晚发现,代码一堆放,根本未曾记住。

  没悟出好方法,老艺术,抄了十来遍,其实呢即是钱三不折不扣在抄,后止一直默写出来了。这才捋顺了思路。整理了瞬间想方设法,现在拿这些想法分享一下。先把代码献上,虽然大俗套。

/**********请求流程************/
1、创建请求对象
 var xhr;
 if(window.XMLHttpRequest){
    xhr = new XMLHttpRequest();
 }else if(window.ActiveXObject){
    var versionArr = ["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
    for(var tempVersion of versionArr){
        xhr = new ActiveXObject[tempVersion];
        if(xhr){
            break
        }
    }
}else{
     throw new Error("您的浏览器版本过低")
}
 // 2建立连接
xhr.open("GET","url")
 // 3发送请求
xhr.send(null)
// 4接收响应
xhr.onreadystatechange = function(){
     if(xhr.readyState == 4&& xhr.status ==200){
    var rootObj = JSON.parse(xhr.responseText)
        ……………………
     }
 }

  来,刚看了代码,这里先弃开代码。就事论代码,先由当下档子事开,当您想要要到后台数据,首先你可知体悟要失去举行什么?别说创造请求实例,一步一步按常规=逻辑倒着来。这时你该想到肯定使事先夺发送请求了。那么问题来了,从哪里发送请求呢?这时候就要去思方找这个会发送请求的事物了,然而并没有。这时候就要用出曾练得的平篇好本领——造对象。没有请求的实例,就如先前往出来一个告实例,这就是是第一步,当然了,有矣外就是可以于下开展了,然而发送请求也并无是无论就让发的,就像打电话,首先你得错过开电话,才可以去拨号聊天,这虽是第二步,去开辟一个连连,然后又进行点击拨号,发送出你照下之号,这便是第三管,发送请求,接下去就是假设处理收到的还原了。

  下面再同步一步简单分析一下

创XMLHttpRequest请求对象,Ajax编程是经过此目标来开展的。
是因为各级大厂商浏览器对XMLHttpRequest对象支持不同,尤其是IE…这里要对不同浏览器版本进行兼容考虑。
而今多数主流浏览器还能支持XMLHttpRequest对象
直使用 new XMLHttpRequest()作为请求对象;
脚是经典的IE6支持项目 new ActiveXObject(“Msxml2.XMLHTTP”);
末段是IE6以下支持项目new ActiveXObject(“Microsoft.XMLHTTP”);

当矣啊发生这些向还不支持之顽固份子。。。。直接丢掉来荒唐为他们了

 

下一场就是是开拓链接 open(method,url,flag) 参数method:GET 或者POST
参数url:请求服务器的路径 参数flag
是否异步请求,现在貌似还是异步啦,不设置的语会默认异步。

对接下去是殡葬请求send()
,这里而根据请求方式不同采取发送不同之恳求,如果是GET请求,send方法外之参数写一个null就行。但若是是post类型的要,请求带有参数的haunted。这个参数要写到send方法外发送出,另外还要设置请求头
xhr.setRequestHeader(“Content-type”,”application/x-www-form-urlencoded”)请求头根据实际请求例外设置的种页不平等,这里仅写一个简易示例。

  最后一步就是是承受服务器响应
可以经过控制台或者警告框测试,会发四坏输出信息,因此便来矣几栽不同的对象写态码:

0:未初始化完成,这时只是创建了XMLHttpRequest对象,未调用open方法
1:初始化已成功,请求开始,开始调用open方法,未调用send方法
2:请求Ajax发送,就是说已经调用了send方法
3:开始接到服务器的响应。
4:读取接收服务器响应后回的数据。(响应了)

onreadystatechange事件会在234不时吃惩罚。我们采用的下一般只是关爱第四管,到了季管辖,才起来开展数据接收处理,当然矣,进行到第四统为不自然意味着就是杀功告成了,还要看一下服务器响应状态;一般状态码返回值
200 404 500,

200凡是正规应,还有让人头疼的底404,找不至要拜访的网页,最让人夭折的便是500了,服务器崩了。。。

此间我们得下请求对象的status属性查看服务器状态码;当进行到第四步都服务器状态码是200常常,就是咱们赢得到多少开始要的时。

 

率先坏发文章,不熟悉套路 ,有问题的语我上线会及时还原的。

相关文章