gpt4 book ai didi

ajax 方法中的 Dojo 错误处理

转载 作者:行者123 更新时间:2023-12-04 23:57:01 25 4
gpt4 key购买 nike

在什么情况下会调用 xhr 方法的错误?即使响应为 200,也会调用错误代码。我正在使用 xhrPost 方法。

更新:

dojo.xhrPost({
url: url,
handleAs: respType /* json */,
content: data,
load: onServerResponse,
error: onHttpError
})
function onServerResponse(response, ioArgs) {
if(onResponse !== null) {
onResponse(response);
}
}
function onHttpError(error, ioArgs) {
if (showHttpError === true) {
var errMsg = "";
switch (ioArgs.xhr.status) {
case 0: errMsg = "Please check Web Server status."; break;
case 404: errMsg = "HTTP (404): Requested Page Not Found"; break;
case 500: errMsg = "HTTP (500): The server reported an Error"; break;
default: errMsg = "Unhandled HTTP error - " + ioArgs.xhr.status;
}
ConsoleUtils.showNotificationAlertDialog(errMsg, ConsoleConstants.INFORMATION);
}
}

这些是来自 Firebug 的响应 header :

服务器 Apache-Coyote/1.1内容类型 application/json;charset=UTF-8传输编码分块日期 2011 年 12 月 18 日星期日 18:06:54 GMT

响应体{"message":"Kiosk 成功删除","success":true}

尽管返回状态为 200,但仍会调用警报对话框。

最佳答案

在您的 onServerResponse 函数中,您使用了一个名为 onResponse 的变量。既然你在做: onResponse() 我只能猜测 onResponse 是一个函数。然后你的测试 if(onResponse !== null) 似乎不合适,也许你想测试响应。

如果你想测试函数是否存在,你可能想检查 typeof onResponse == "function"

此外,如果您正在其中调用一个函数,请确保该函数在正确的范围内...然后您可能想要使用加载:dojo.hitch(theScopeWhereOnResponseFunctionExists, onServerResponse)

希望这对您有所帮助。

关于ajax 方法中的 Dojo 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8553590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com