【发布时间】:2018-11-29 19:19:34
【问题描述】:
我有点困惑为什么我的 ajax 调用没有返回结果。我认为定义为异步的方法会自动返回一个承诺。我做错了什么?
async AjaxCall(filePath) {
let xhttp = new XMLHttpRequest();
xhttp.open('POST', filePath, true);
xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhttp.send();
xhttp.onreadystatechange = function() {
if (xhttp.readyState === 4 && xhttp.status === 200) {
return xhttp.responseText;
}
}
}
async function Test() {
var result = await AjaxCall("file.php");
alert(result);
}
Test();
【问题讨论】:
-
AjaxCall不等待任何东西或返回承诺 -
AJAX returns null?的可能重复
-
如果您正在寻找 ajax+promises,请查看fetch API
标签: javascript ajax async-await