【问题标题】:jQuery: Handling cross domain jsonp bad request errorjQuery:处理跨域 jsonp 错误请求错误
【发布时间】:2013-04-08 18:59:19
【问题描述】:

我无法使用我的 jquery 代码捕获错误的请求错误。

$.get('http://example.com/', {}, function () {}, 'jsonp')
 .done(function () {
   // never fires
 })
 .fail(function () {
   // never fires
 })
 .always(function () {
   // never fires
 });

我只是得到错误

GET http://example.com?callback=jQuery17102424617672804743_1366109250123&_=1366111087274 404(未找到)

【问题讨论】:

  • 您是否尝试在浏览器中打开该链接并查看结果?它是否显示正确的数据?
  • 它显示了我的虚拟主机的 404 页面,这是我所期望的。如果我的应用程序出现故障,我想捕获这个 404 页面。

标签: javascript jquery ajax error-handling jsonp


【解决方案1】:

您不能使用.get 调用其他域。您需要使用.ajax 进行jsonp 调用。

但是仅仅得到错误是不够的。您还需要指定timout 属性。没有它,您不会出错。

$.ajax({
  url: 'http://hq.am/asdasdasdasd?callback=?',
  timeout: 3000,
  dataType: "json",
  error: function(data){
      alert('error');
  }
});

Sample

【讨论】:

  • 是的,添加超时属性就可以了。谢谢。 (这也会触发 fail() 回调)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 2012-09-08
  • 2011-06-22
  • 2011-12-02
相关资源
最近更新 更多