2012-02-22 61 views
0

按照official jQuery doc

如果請求成功,狀態代碼函數取相同的參數成功回調;如果它導致錯誤,它們將採用與錯誤回調相同的參數。

但事實上,不是這樣的。有了這個代碼:

function saveCampagne (data){ 
     $.ajax({ 
      url : url, 
      type : "GET", 
      data : data, 
      statusCode:{ 
       201 : function(campagne){ 
        // JSON Decode 
        var Campagne = JSON.parse(campagne); 
        $("#zone-message").append('<div class="alert fade in" data-alert="alert"><a class="close" data-dismiss="alert" href="#">&times;</a><p><strong>C\'est Fait !</strong> La campagne a été ajoutée sous la référence #'+Campagne.id+'. Elle sera validée prochainement par un administrateur.</p></div>'); 
        return Campagne; 
       }, 
       200 : function(){ 
        $("#zone-message").append('<div class="alert alert-error fade in" data-alert="alert"><a class="close" data-dismiss="alert" href="#">&times;</a><p><strong>Woops !</strong> Une erreur est survenue dans la création de la nouvelle campagne. Merci de ré-essayer ultérieurement.</p></div>'); 
       } 
      }, 
      success : function(campagne){ 
      }, 
      error : function(){ 
       $("#zone-message").append('<div class="alert alert-error fade in" data-alert="alert"><a class="close" data-dismiss="alert" href="#">&times;</a><p><strong>Woops !</strong> Une erreur est survenue dans la création de la nouvelle société. Merci de ré-essayer ultérieurement.</p></div>'); 
      } 
     }); 
    } 

我能夠使.append但功能在我201 : function(campagne){...}

任何想法從來沒有得到的數據(通過康帕涅過去了,像success)爲什麼它不工作,如DOC說它是如何工作的?

+0

使用像螢火蟲一樣的東西來檢查'201'響應實際上是否包含數據....我猜測只有'200' /'success'的響應纔會返回數據 – ManseUK 2012-02-22 13:16:45

+0

201響應包含創建的整個對象,包括id在系統中。這是我請求工作的API。此外,在成功工作上也傳遞參數(因爲成功是狀態代碼2XX) – Clawfire 2012-02-22 13:46:48

回答

0

嘗試取出成功和錯誤處理程序。

+0

我可以使用錯誤,但是當satus代碼處於2XX範圍內時會引發成功 – Clawfire 2012-08-02 09:07:52