原生js-ajax的两种请求数据方式

兼容低版本IE (方式一)

function creatAJAX(){
    //定义对象
    var ajaxObj;

    //创建对象
    if(window.XMLHttpRequest){
        //W3C的标准浏览器
        ajaxObj=new XMLHttpRequest();
    }
    else{
        //低版本的IE
        var versionArray=["Microsoft.XMLHTTP","Msxml2.XMLHTTP","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.6.0"];
        for (var v in versionArray) {
            try{
                ajaxObj=new ActiveXObject(versionArray[v]);
                //如果已经创建成功,退出循环
                break;
            }
            catch(err){
                console.log("错误信息",err.message)
            }
        }
    }
    
    //返回对象
    return ajaxObj;
}

方式一 get方式

    // 创建ajax get 方式
    var ajax = new XMLHttpRequest();
    ajax.open('get', 'userInfo.json?user=admin&password=123456'); //发起的方式 和 请求地址
    ajax.onreadystatechange = function() {
        //判断状态
        if (readySteta === 4 && status === 200) {
            var data = JSON.parse(ajax.responseText);
            console.log(data); // 如果成功 用resolve处理
        } 
    }
    ajax.send(); // 开始发送

方式二 post方式

    // post 方式
    var ajax = new XMLHttpRequest();
    ajax.open('post', 'userInfo.json'); //发起的方式 和 请求地址
    //来添加 HTTP 头
    ajax.setRequestHeader("Content-type", "application/x-www-form-    urlencoded");
    ajax.onreadystatechange = () => {
    //判断状态
    if (readySteta === 4 && status === 200) {
        var data = JSON.parse(ajax.responseText);
        console.log(data); // 如果成功 用resolve处理
        } 
    } // 准备一个错误信息对象
    ajax.send('user=yang&password=123321'); 
   // 开始发送 并且 传入 在 send() 方法中写要发送的数据;

普及一下常用的状态码

    200:ok,服务器成功返回数据
    400:Bad Request,语法错误
    401:请求需要认证
    404:not found,找不到页面
    500:服务器遇到意外错误
    503:服务器正在维护或者过载无法完成请求
    其他百度去

普及一下这个4是什么意思:

    xhr.readyState 是 ajax 状态
    0:创建服务
    1:打开服务
    2:发送服务
    3:服务器响应
    4:加载成功

你可能感兴趣的:(原生js-ajax的两种请求数据方式)