原生ajax方法封装

Posted 东风杨柳岸,岁月如烟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生ajax方法封装相关的知识,希望对你有一定的参考价值。

/**
 * @function ajax request
 * @fields ajaxName:请求名称,method:请求方法,url:接口地址,async:是否异步请求,withCredentials:是否支持跨域发送cookie,params:post请求参数
 * @param data:{"ajaxName":"ajaxNameString","method":"GET/POST","url":"","async":true/false,"withCredentials":true/false,"params":{}}
 * @result ajaxName.responseText
 */
function ajaxRequest(data, callback) {
    var ajax = data.ajaxName;
    // 新建请求
    ajax = new XMLHttpRequest();
    // 打开请求
    ajax.open(data.method, data.url, data.async);
    // 是否支持跨域发送cookie
    ajax.withCredentials = data.withCredentials;
    // 如果是POST请求则设置Header
    if (data.method == ‘POST‘) {
        ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    }
    // 发送请求
    ajax.send(data.params ? data.params : ‘‘);
    // 注册事件
    ajax.onreadystatechange = function () {
        callback(ajax);
    }
}

调用方法:

ajaxRequest({
    "ajaxName": ajaxName,
    "method": "POST",
    "url": "http://xxx.xxx.xxx/",
    "async": true,
    "withCredentials": true,
    "params": params
}, function callback(ajax) {
    console.log(ajax.responseText);
})

以上是关于原生ajax方法封装的主要内容,如果未能解决你的问题,请参考以下文章

原生JS封装ajax方法

原生Js封装ajax方法

原生ajax方法封装

使用原生ajax及其简单封装

原生js封装ajax代码

原生ajax与封装的ajax使用方法