2013-02-13 84 views
0

我不明白jsonp的jquery的行为。用jsonp理解完成失败返回jquery的Ajax

该代码提供了一个警告:

$.ajax({ 
    url: "http://myUrl", 
    cache:false, 
    contentType: "application/json", 
    dataType:'jsonp' 
    }).fail(function() { 
     alert(getData()); 
    }); 

这一个不:

$.ajax({ 
    url: "http://myUrl", 
    cache:false, 
    contentType: "application/json", 
    dataType:'jsonp' 
    }).done(function() { 
     alert(getData()); 
    }); 

注意失败工作而是不工作...

我错过了什么?

+0

你尝试'then'或'always'? IIRC,'完成'意味着“成功” – 2013-02-13 14:39:51

回答

0

所以你需要检查它为什么会失败?

我不认为该错误发生在jsonp部分的cuz。

你也可以告诉我们你使用的是什么浏览器。 Google Chrome有一些问题。

尝试格式不正确此

$.ajax("example.php") 
    .done(function() { alert("success"); }) 
    .fail(function() { alert("error"); }) 
    .always(function() { alert("complete"); }); 
+0

我放弃了Chrome,因为我有一些刷新/缓存问题,我无法处理; Firefox的行为更加一致。 我得到这些警报:错误和完整。但是,json内容传递失败并完成... – Yako 2013-02-13 17:24:57