1 回答
TA贡献1856条经验 获得超17个赞
最简单方法是改成同步,或者用promise, 自己封装ajax
function ajax(url,data) {
return new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open('post', url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
xhr.onload = function () {
if (xhr.status === 200 || xhr.status === 304){
resolve(xhr);
}else{
reject({
errorType: 'status_error',
xhr: xhr
})
}
}
xhr.onerror = reject;
xhr.send(data);
})
}
使用方法
ajax('/query',{a:1}).then(
function(data){
console.log(data.response)
})
.catch(
function(err){
console.log(err)
})
可以根据需要封装更多的参数, 这里我只封装了数据, 请求方式统一post
添加回答
举报