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

How to separate some response data from model on backbone.js callbacks

本文关键字:分离 响应 数据 模型 backbone js 回调      更新时间:2023-09-26

我正在用backbone.js启动一个项目,正如你所知,我的主要问题是找到一个好的编码模式。然而,我想知道如何最好地处理来自ajax回调(保存、销毁、获取)的消息,例如在success上,而不在模型上设置所有消息

我想做的是将一些数据从模型中分离出来,而不是将其作为属性来处理,例如在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" }

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

在你的情况下,你可能会有这样的东西:

parse : function(resp, xhr) {
  alert resp.message;
  return resp.post;
},

因此,您可以在从服务器返回的JSON中保持相同的结构。在解析方法中,只要提取表示模型数据的部分并从该方法返回,就可以对附加数据执行任何操作。