【发布时间】:2012-12-31 11:54:26
【问题描述】:
这是我的代码的简要概述:
$.getJSON(json_url, function(data) {
// application logic
}).error(function() {
console.log("error");
});
问题是当服务器返回 404 错误时,它似乎没有被处理,因为没有 console.log() 说错误,但是出现了一个 GET 请求失败,代码为 404 (Not Found) 出现在安慰。
我正在使用 jQuery 1.9.0。
我犯了一些简单的错误吗?
【问题讨论】:
-
尝试
.fail而不是.error...后者已被弃用(尽管这并不意味着它不起作用)。 -
这似乎也不起作用。是否有另一种方法可以代替 JSONP 的 getJSON?此外,jQuery 文档在 getJSON 页面上说错误,为什么这会起作用,但文档说的不起作用?
-
你确定是 404 而不是 JSON 语法错误,会静默失败吗?
-
这是 JSONP,会有什么不同吗?使用回调函数它不是有效的 JSON,但没有它它是有效的。我正在调用 Twitter API,如果这有影响的话。
-
据我了解,如果存在
callback="..."函数,Twitter 将使用 JSONP 进行响应。同样,如果存在callback="...",jQuery 会将请求作为 JSONP 处理。我认为 404 的问题在于服务器可以返回 HTML(包含标记错误消息的页面)。 This question 提出了同样的问题 - 你也许可以从答案中收集到一些东西(但不幸的是没有被接受)。
标签: javascript jquery