我在客户端上使用Backbone.js,在后端使用node.js,我在执行'有限'模型保存时遇到了一些麻烦,如下所述:http://backbonejs.org/#Model-保存
如在示例中,如果我这样做
book.save({author: "Teddy"});
Run Code Online (Sandbox Code Playgroud)
如何使用express.js访问save的参数,即我只想保存到'author'字段?我尝试了以下内容
req.body -> gives ALL parameters of the model being saved, I want only the 'author' field
req.query -> empty
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢!
如果我将任何"额外"属性发送回服务器,我正在爆炸的API.现在,我敢肯定,我已经有不存在的服务器端上我的客户端骨干模特属性打破一些规则MVC什么的,但是,我需要做的是发起建立的请求,但只有经过一定的我的模型中的属性我正在启动CREATE请求.
我可以轻松地在骨干中做到这一点:
Model.save({key: val}, {patch: true});
Run Code Online (Sandbox Code Playgroud)
然后修改Backbone sync methodMap默认修补程序路由到POST而不是PATCH,这让我知道我正在寻找什么,除了稍后我想在适当的时候实际上能够PATCH(而不是POST).我只需将它作为POST进行POST,就好像它只是用于创建操作的补丁(不适用于更新操作!).
所以,简而言之,我需要采取这样的方式:
new Backbone.Model({'foo': 'bar', 'baz': 'beh'});
Run Code Online (Sandbox Code Playgroud)
并告诉它将自己同步到服务器,但只发送'foo'而不发送'baz',但它必须将其作为POST发送(它不能是PATCH).
有任何想法吗?