jquery ajax jsonp一直网络超时,jQuery ajax(jsonp)忽略超时并且不会触发错误事件

jQuery ajax(jsonp)忽略超时并且不会触发错误事件

为了添加一些基本的错误处理,我想重写一段使用jQuery的$ .getJSON来从Flickr中提取一些照片的代码。这样做的原因是$ .getJSON不提供错误处理或使用超时。

因为$ .getJSON只是$ .ajax的包装,所以我决定改写这个东西并惊喜,它完美无缺。

现在开始有趣了。当我故意导致404(通过更改URL)或导致网络超时(没有连接到互联网)时,错误事件根本不会触发。我不知道自己做错了什么。非常感谢帮助。

这是代码:$(document).ready(function(){

// var jsonFeed = "http://api.flickr.com/services/feeds/photos_public.gne"; // correct URL

var jsonFeed = "http://api.flickr.com/services/feeds/photos_public.gne_______"; // this should throw a 404

$.ajax({

url: jsonFeed,

data: { "lang" : "en-us",

"format" : "json",

"tags" : "sunset"

},

dataType: "jsonp",

jsonp: "jsoncallback",

timeout: 5000,

success: function(data, status){

$.each(data.items, function(i,item){

                $("").attr("src", (item.media.m).replace("_m.","_s."))

.attr("alt", item.title)

.appendTo("ul#flickr")

.wrap("

");

if (i == 9) return false;

});

},

error: function(XHR, textStatus, errorThrown){

alert("ERREUR: " + textStatus);

alert("ERREUR: " + errorThrown);

}

});});

我想补充说,当jQuery版本为1.4.2时,会问这个问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值