AJAX

作者: 我不傻_cyy | 来源:发表于2019-11-05 14:54 被阅读0次

    通过AJAX(Asynchronous JavaScript And XML)实现异步刷新,与服务器交换数据并更新部分网页内容,在不加载整个页面的情况下。
    创建XHR(XML Http Request)对象:
    XHR(XMLHttpRequest)对象是一个javaScript对象,可以在用于感觉不到的情况下,悄悄的和服务器进行数据交换,Ajax就是通过XHR来实现无刷新效果的。
    创建XMLHttpRequest对象:

    var xmlHttp = new XMLHttpRequest();
    

    向服务器发送请求:
    使用XMLHttpRequest对象的open()和send()方法。

    xmlHttp.open("GET","test1.txt",true);
    xmlHttp.send();
    

    其中:
    方法open(method,url,async):method表示请求类型(GET或POST),url表示文件在服务器上的位置,该文件可以是任何类型的文件,async表示同步或异步(true异步,false同步)。XMLHttpRequest对象如果用于Ajax的话,其open()方法的async参数必须是true。
    方法send(string):将请求发送到服务器,string仅用于POST请求。
    当async为true的时候,使用
    xmlHttp.onreadystatechange来定义异步请求回来时的处理函数。

    服务器响应:
    如果想要获取服务器的响应,需要使用XMLHttpRequest对象的responseText(获取字符串形式的响应数据)或responseXML(获取XML形式的响应数据)属性。

    onreadystatechange事件
    XMLHttpRequest对象的三个重要属性:
    1.onreadystatechange存储函数,当readyState属性改变的时候,就会调用这个函数。
    2.readyState属性,用于存储XMLHttpRequest的状态,
    0:请求未初始化
    1:服务器连接已建立
    2:请求已接收
    3:请求处理中
    4:请求已完成,且响应已就绪
    3.status:200:“OK”,404:未找到页面。
    例如:在 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。

    当 readyState 等于 4 且状态为 200 时,表示响应已就绪:

    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
      }
    

    相关文章

      网友评论

          本文标题:AJAX

          本文链接:https://www.haomeiwen.com/subject/qctsbctx.html