Ajax 它是什么?如何使用?

什么是Ajax:

Ajax(异步JavaScript和XML,即Asynchronous JavaScript and XML),它不是一种技术,而是一系类技术的总称,传统的Web应用与服务器之间通讯时,当Web发出请求之后,服务器会把包括请求数据在内的整个页面重新返回,这样做对服务器压力很大,而且使得浏览页面变得卡顿,而Ajax只返回‘该返回的数据’从而达到 ‘ 局部刷新’ 的目的,虽然名字是XML但是数据传输格式不仅仅包括XML,JSON其实也可以,不知道JSON的朋友可以看我的另一篇博客 : https://blog.csdn.net/qq_41995398/article/details/103032834

如何使用Ajax:

      XMLHttpRequest对象:

Ajax技术的核心是XMLHttpRequest对象,通过这个对象进行 ‘ 客户端--服务端 ’  的交互,这个对象存在兼容问题,我们不妨在加入这样的代码来解决问题

        var xmlhttp;
        if(window.XMLHttpRequest){
            xmlhttp = new XMLHttpRequest;//现代浏览器和IE7+
        }else{
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');//IE6,IE5
        }

  现在我们已经生成了一个XMLHttpRequest对象xmlhttp,下面就会展示如何操作它。

     XMLHttpRequest使用过程:

1.利用上面创建的对象来发出请求:

        xmlhttp.open('GET','URL','true'); //启动一个请求,以备发送
        xml.send(); //发送请求,或者数据

先来看 open() 方法的三个参数,第一个参数用来声明请求类型,是 "GET","POST" 还是其他的[注1];

                                                    第二个参数是请求的目的地,是一个服务器的地址;

                                                    第三个参数是表示设置请求是否异步;

send() 方法的参数用来接受 ‘请求主体发送到服务器的数据’。

2.服务器接收到请求后会返回数据,现在开始通过一个函数处理响应----xmlhttp.readystatechange,该函数要完成的功能有,检验 ‘请求’ 的状态(readyState),检验 ‘响应’ 的状态 ( status );

        xmlhttp.readystatechange = function(){
            if(xmlhttp.readyState == "4"&&xmlhttp.status == "200"){
               code........
            }
        }

" xmlhttp.readyState ",请求状态,返回的值不同代表的意义也不一样,

  • :0 请求未初始化;
  • :1 已建立服务器连接;
  • :2 已收到请求;
  • :3 处理请求;
  • :4 请求已完成,响应已经准备就绪;

" xmlhttp.status ",HTTP 的HTTP响应状态代码,

有四大类,100-199代表信息响应,200-299代表成功响应,300-399代表重定向,400-499代表客户端错误,500-599代表服务器错误。常见的有三个,

  • 200 :OK;
  • 304 :请求的资源没有被修改,可以直接用浏览器中的版本;
  • 404 : 未找到页面;

   3.开始处理接受的数据,xmlhttp上面还有两个其他的属性,可以将属性值赋给对应的DOM位置,

  • xmlhtpp.responseText : 从服务器返回的文本格式的数据;
  • xmlhttp.responseXML:从服务器返回的XML格式的数据;
          document.getElementById('demo').innerHTML = xmlhttp.responseText;
          //将服务器返回的文本信息填入‘ demo ’中;

[注1]: 

' GET '请求是最常见的请求类型,最常用于向服务器查询某些信息,必要时,可以将查询字符串参数追加到URL的末尾,以便将信息发给服务器。

‘POST’请求是频率仅次于 ‘ GET ’的请求,通常用于向服务器发送应该保存的数据,‘ POST ’应该把数据作为请求的主体发出去,它可以包含非常多的数据,而且格式不限。

猜你喜欢

转载自blog.csdn.net/qq_41995398/article/details/103436985