gpt4 book ai didi

javascript - 如何在 getJSON 中捕获服务器错误

转载 作者:行者123 更新时间:2023-12-03 10:34:43 25 4
gpt4 key购买 nike

我想在 getJSON 调用中设置错误处理。

这是我的调用代码:

 try
{
$.getJSON(uri)
.done(function (data) {
//do some thing with the result
}).error(errorHandler());
}
catch (err)
{
alert(err);
}
function errorHandler(page) {
return function (jqXHR, textStatus, errorThrown) {
console.log(page); // it works
};
}

我的 Web API 代码是:

[HttpGet]
public IEnumerable<InformedCommon.Time> GetTimes(string licenseKey, string camIndex, string date, string id, string guid)
{
throw new Exception("hi");
}

未调用错误处理程序代码。

在 View 元素控制台中我得到:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

然后我找到了这个链接: http://www.paulbill.com/97/how-to-handle-errors-using-getjson-jquery

所以,我像这样重新编码:

$.ajax({
url: uri,
dataType: 'json',
success: function (data) {
console.log('SUCCESS: ', data);
},
error: function (data) {
console.log('ERROR: ', data);
}
});

但是这个错误仍然没有被捕获。

所以:处理服务器调用错误的最佳方法是什么?

最佳答案

要从 getJSON 捕获错误,请使用 .fail,而不是 error

$.getJSON(uri)
.done(function (data) {
//do some thing with the result
}).fail(function(){
//handle your Error here
});

但是,如果您在服务器脚本上抛出异常,它不会传输到客户端 - 只是 500 内部服务器错误。

我认为你应该在服务器端捕获异常并将其以 JSON 形式发送到客户端,然后在 .done 函数中处理它。

关于javascript - 如何在 getJSON 中捕获服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29052852/

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