Ajax调用返回json到模型我可以使用我自己的函数中的数据

时间:2014-02-12 00:50:34

标签: ajax backbone.js

Backbone的新手,所以我可能会过度/不完整。 (过去建造的水疗中心有自己的功能)

我曾经做过的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
}

对于我想象的更抽象的概念。如果我点击更新按钮,我希望它点击服务器并返回成功/失败状态以及Id和消息(以json格式想象所有)。

找到了一些例子,但到目前为止似乎都没有。

1 个答案:

答案 0 :(得分:0)

为此,您需要使用Backbone模型:

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回调传递给`save function。

保存功能的第一个参数是要保存的属性(请参阅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...
    }
});