简介这篇文章主要介绍了原生ajax方法封装(示例代码)以及相关的经验技巧,文章约1208字,浏览量472,点赞数4,值得参考!
/**
* @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);
})