【发布时间】:2013-05-05 02:22:38
【问题描述】:
我知道如何接收服务器数据或错误。有很多方法。例如:
$.ajax({
type: "get",
url: "/widgets/",
success: function (data, text) {
console.log('this is a data');
},
error: function (request, status, error) {
console.log('this is an error');
}
});
请看这张图片:
我有我的错误功能,我在那里做我需要的事情。 如何防止第一行出现错误。 我测试了 4xx 和 5xx 错误,但没有区别。 我知道当开发者控制台被隐藏时最终用户不会看到这个错误。
我需要这个来设计一个 API。 我知道我可以从服务器发送 200 条响应,并带有一个额外的参数来表明这是一个错误或成功的结果。
但是如果我可以发送 4xx 或 5xx 响应,那么就不需要额外的参数了。 这种方式对我来说有一些额外的收获。例如,我可以将成功结果应用于我的客户端模型,而无需担心额外的参数。
谢谢
【问题讨论】:
-
jquery-1.9.1.js:8526
// This may raise an exception which is actually// handled in jQuery.ajax (so no try/catch here)xhr.send( ( s.hasContent && s.data ) || null ); -
将
xhr.send包裹在try/catch中不会 阻止错误显示在开发者控制台中。请注意,这些不是 JS 错误/异常,而是与浏览器发出的request 相关,因此试图捕获JS 错误是行不通的。跨度>
标签: jquery ajax http error-handling