美文网首页
原生ajax

原生ajax

作者: WangYatao | 来源:发表于2019-05-16 17:33 被阅读0次

    1.创建XMLHttpRequest对象

    因为老版本的浏览器(ie5和ie6)使用的是ActiveX对象
    所有为了兼容所有浏览器,就要根据浏览器版本不同创建XMLHttpRequest对象或者ActiveXObject对象

    //如果支持XMLHttpRequest对象
    var ajax=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP")
    

    2.连接服务器并发送请求

    ajax.open(method,url,async);

    method:请求的类型;get或者post
    url:请求的接口地址
    async:true(异步)false(同步)

    ajax.send(string)

    将请求发送到服务器,string是用于post向后台发送参数,
    例如:ajax.send("user=123&&pwd=123456")。
    如果是get请求直接ajax.send()。

    setRequestHeader(header,value)

    向请求添加 HTTP 头。
    header: 规定头的名称
    value: 规定头的值
    例如:

    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    ajax.open("GET","https://api.apiopen.top/recommendPoetry",true);
    ajax.send();
    

    4.接收服务器返回的数据

    //客户端和服务器端有交互的时候会调用onreadystatechange
            ajax.onreadystatechange=function()
            {
                //oAjax.readyState  //浏览器和服务器,进行到哪一步了。
                    //0->(未初始化):还没有调用 open() 方法。
                    //1->(载入):已调用 send() 方法,正在发送请求。
                    //2->载入完成):send() 方法完成,已收到全部响应内容。
                    //3->(解析):正在解析响应内容。
                    //4->(完成):响应内容解析完成,可以在客户端调用。
                if(ajax.readyState==4)
                {
                    if(ajax.status==200)//判断是否成功,如果是200,就代表成功
                    {
                        console.log(ajax.responseText);//读取接口成功就输出数据。
                    }
                    else
                    {
                        alert("失败");
                    }
                }
            };
    

    相关文章

      网友评论

          本文标题:原生ajax

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