【发布时间】:2013-09-20 21:48:33
【问题描述】:
我正在使用 jQuery 1.8.2,并且正在执行这样的 JSONP 调用:
function foo(data) {
console.log(data)
}
$.ajax({
type: 'GET',
url: http://xxx.cloudfront.net/posts.json?category=News&callback=foo,
dataType: 'jsonp',
cache: true,
jsonp: false
}).done(function (data) {
}).fail(function (XHR, status, error) {
console.log(error);
});
当我运行它时,正确的数据响应会返回到 foo 回调。但是该错误也会触发,并且控制台将错误记录为Error {}。从 Stackoverflow 上的其他地方阅读看来,这是因为响应包含在回调中,并且 jQuery 期望纯 JSON。我应该忽略这个错误吗?
【问题讨论】:
-
promise 不可能同时触发
done和fail处理程序。 -
它似乎没有触发完成 - 但响应作为参数传递给 foo()。
-
查询字符串参数如何被用作函数调用???
-
@AndFinally:你为什么使用
foo函数而不是done回调? -
@Bergi 我现在知道这是错误的!