如何在backbone.js回调中从模型中分离一些响应数据

mat*_*aso 3 javascript ajax jquery backbone.js

我正在使用backbone.js开始一个项目,如你所知,我的主要问题是找出一个好的编码模式.但是,我想知道如何处理来自ajax回调(保存,销毁,获取)的消息的最佳方法,例如成功时不设置模型的所有内容

我想要做的是从模型中分离一些数据并将其作为属性处理,例如在model.save()回调json上:

{ message: "Successful post", post: { id: 13, text: "test" } }
Run Code Online (Sandbox Code Playgroud)

这是代码:

post = new Post({..})
post.save({}, { 
  success: function(post, xhr) {
     data = jQuery.parseJSON(xhr.responseText)
     alert(data.message)
  }
})
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做或我必须离开作为属性?喜欢:

{ message: "Successful post", id: 13, text: "test" }
Run Code Online (Sandbox Code Playgroud)

Ste*_*eve 5

您可以覆盖Model 解析方法来拦截响应中的数据.

在你的情况下,你可能会有类似的东西:

parse : function(resp, xhr) {
  alert resp.message;
  return resp.post;
},
Run Code Online (Sandbox Code Playgroud)

因此,您可以在从服务器返回的JSON中保留相同的结构.在您的解析方法中,只要您提取表示模型数据的零件并从方法返回它,您就可以使用其他数据执行任何操作.