美文网首页
Javascript实现AJAX的核心对象是XMLHttpReq

Javascript实现AJAX的核心对象是XMLHttpReq

作者: Emmakaiqin | 来源:发表于2020-04-14 15:41 被阅读0次

    实现步骤(只需四步):

    第一步,获取XMLHttpRequest对象,直接new一个XMLHttpRequest对象,var xmlHttp = new XMLHttpRequest()(适用于IE7+、firefox、Chrome、Safari和Opera),如果还有其他版本的浏览器,则会创建各自对应的对象。

    第二步,打开与服务器的连接

    xmlHttp.open(method,url,async);

    method:请求方式,可以是GET或POST

    url:所要访问的服务器中资源的路径如servlet/AServlet

    async:是否为异步传输,true表示为异步传输,一般都是true

    第三步,发送请求 

    xmlHttp-.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//设置请求头,通知服务器发送的数据是请求参数

    new XMLHttpRequest().send("xxxxx");//注意,如果不给参数,可能会造成部分浏览器无法发送请求

    参数:如果是GET请求,可以是null,因为GET提交参数会拼接在url后面

    如果是POST请求,传入的就是请求参数

    第四步,注册监听

    在XMLHttpRequest对象的一个事件上注册监听器:

    onreadystatechange

    一共有五个状态:(xmlHttp.readyState)

    0状态:表示刚创建XMLHttpRequest对象,还未调用open()方法

    1状态:表示刚调用open()方法,但是还没有调用send()方法发送请求

    2状态:调用完了send()方法了,请求已经开始

    3状态:服务器已经开始响应,但是不代表响应结束

                    4状态: 服务器响应结束!(通常我们只关心这个状态)

    //获取xmlHttp对象的状态:

    var state = xmlHttp.readyState;//可能得到0,1,2,3,4 

    //获取服务器响应的状态码

    var status = xmlHttp.status;

    //获取服务器响应的内容

    var data = xmlHttp.responseText;//得到服务器响应的文本格式的数据 

    //相当于每次状态改变时,都会调用这个function

    xmlHttp.onreadystatechange = function(){

        //当服务器已经处理完请求之后

        if(xmlHttp.readyState == 4){

            //status是应答状态码,200说明服务器响应完成,而且状态OK

            if(xmlHttp.status == 200){

                //获取响应数据并执行局部刷新的逻辑

                var result = xmlHttp.responseText;

                result = xmlHttp.responseXML;

            }

        }

    }

    相关文章

      网友评论

          本文标题:Javascript实现AJAX的核心对象是XMLHttpReq

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