javascript - Javascript Ajax Uncaught (in promise) undefined
问题描述
我正在努力使用承诺的 ajax GET。如果 ajax 遇到错误,例如 URL 不正确,则调用 'error: function ()' 并且我在浏览器调试中收到错误消息“Uncaught (in promise) undefined”
ajax 函数的前两部分工作正常,即如果 ajax 返回成功,则 result.success true/false 的两个内部条件都有效,我只是不知道如何解决 ajax 错误函数中的拒绝调用底端:
var myVariable = "test";
let promise = myFunction(myVariable);
promise.then(function () {
// Do Something
}).catch(function (message) {
console.error(message);
});
function myFunction(myVariable) {
return new Promise(function (resolve, reject) {
$.ajax({
type: "GET", //send it through get method
url: "/myURL/Edit?handler=GetBlahBlah",
data: {
sourceType: myVariable
},
contentType: "json",
dataType: "json",
success: function (result) {
if (result.success == false) {
reject(result.responseText); // This works
} else {
resolve(); // This works
}
},
error: function () {
reject("Error while making Ajax call! Get Trigger"); // NOT WORKING!!
}
});
});
}
解决方案
原来我原来的问题确实可以正常工作,起初我没有注意到这个 ajax GET 请求的调用方法在不同时间来自我的 javascript 中的两个不同进程,并且我没有在进程中包含一个 catch 块这实际上是第一次调用这个 ajax。抱歉,如果我给任何人造成任何困惑,我的错!
推荐阅读
- python - Python - 如何比较具有混合字符串但仍表示相同值的两列?
- c++ - 如何正确别名 /usr/include 头文件以包含为
? - reactjs - 单选按钮在选择选项时自动选择其他选项
- windows - 将 Atlassian Bamboo 安装为“内部服务器错误”后出现错误
- linux-kernel - Buildroot:如何修改自定义板的设备树?
- mysql - GCP 上 Cloud SQL 的漏洞
- java - 尝试从 SQLite 数据库加载图像路径时出错
- facebook - 访问 Facebook 广告经理帐户时,我会因错误“FB internal Thrift over HTTP”而退出
- java - 无法解析符号“扫描仪”Java
- javascript - 如何在浏览器中显示解码的 JSON 数据