2013-04-16 82 views
2

我无法用我的jquery代码捕捉错误的请求错误。jQuery:处理跨域jsonp错误请求错误

$.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(未找到)

+0

你试图打开该链接在浏览器看到的结果?它显示正确的数据吗? – Narek

+0

它显示我的虚拟主机的404页面,这是我所期望的。当我的应用程序出现故障时,我想赶上这个404页面。 – user2286201

回答

4

不能使用.get调用其他领域。您需要拨打jsonp致电.ajax

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

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

Sample

+0

是的添加超时属性做了诀窍。谢谢。 (这也触发fail()回调) – user2286201