2014-02-12 16 views
0

Backbone的新手,所以我可能會在/處理複雜的事情。 (建水療中心,在過去我自己的函數)是我用來做Ajax調用返回json到模型我可以使用我自己的函數中的數據

Psudo代碼:

AjaxCall(
    url: "get json result" 
    success: 
    parse json 
    call Update(json.a, json.b) 
) 

function Update(a, b){ 
    //do something with a/b var's 
} 

對於我所設想的ATM更抽象的概念。如果我點擊一個更新按鈕,我希望它打到服務器並返回一個成功/失敗狀態以及一個Id和一條消息(想象所有的json格式)。

找到了幾個例子,但目前爲止似乎都沒有。

回答

0

要做到這一點,你會使用一個骨幹模式:

var Message = Backbone.Model.extend({ 
    urlRoot: "messages" 
}); 

var myMessage = new Message(); 
myMessage.save({}, { 
    success: function(model, response, options){ 
     // code... 
    }, 
    error: function(model, xhr, options){ 
     // code... 
    } 
}); 

基本上是:模型配置API調用,並對save將使用骨幹同步層處理實際的AJAX。您可以將successerror回調傳遞給保存功能。

保存功能的第一個參數是要保存的屬性(請參見http://backbonejs.org/#Model-save),根據您的問題,這些屬性似乎需要爲空。

由於模型實例沒有id屬性,保存調用將觸發對API的POST請求。如果您真的需要提供一個id(以便代之以觸發PUT呼叫),只需做

myMessage.save({id: 15}, { 
    success: function(model, response, options){ 
     // code... 
    }, 
    error: function(model, xhr, options){ 
     // code... 
    } 
}); 
相關問題