2013-02-13 83 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