我正在使用backbone.js开始一个项目,如你所知,我的主要问题是找出一个好的编码模式。但是,我想知道如何处理来自ajax回调(保存,销毁,获取)的消息的最佳方法,例如在成功上而不在模型上设置所有内容
我想要做的是将一些数据与模型分开,并将其作为属性处理,例如在 model.save()回调json:
{ message: "Successful post", post: { id: 13, text: "test" } }
以下是代码:
post = new Post({..})
post.save({}, {
success: function(post, xhr) {
data = jQuery.parseJSON(xhr.responseText)
alert(data.message)
}
})
有没有更好的方法来做,或者我必须离开属性?像:
{ message: "Successful post", id: 13, text: "test" }
答案 0 :(得分:5)
您可以覆盖模型parse方法来拦截响应中的数据。
在您的情况下,您可能会遇到以下情况:
parse : function(resp, xhr) {
alert resp.message;
return resp.post;
},
因此,您可以在从服务器返回的JSON中保留相同的结构。在您的解析方法中,只要您提取表示模型数据的部分并从方法中返回它,就可以使用其他数据执行任何操作。