1

I found that when I use the collection.create to create a new model, backbone will send a post request, but the post data is incorrect for example collection.create({name:'test'}) backbone will send POST data using "{name:'test'}" as key, and "" as value, but I want the POST data by using name as key, 'test' as value, can anybody no how to setting it,

I use django as the server

thanks in advance

4

3 回答 3

0

除非您更改主干的集合,否则使用 Backbone.sync 与您的后端进行通信。

他们在文档中说:

使用默认实现,当 Backbone.sync 发送一个保存模型的请求时,它的属性将被传递,序列化为 JSON,并在 HTTP 正文中以 content-type application/json 发送

所以我想你需要在你的 django 视图中做这样的事情

json.load(request.POST)

或使用不将数据序列化为 json 的自定义同步函数

于 2013-01-06T11:41:08.247 回答
0

您还可以设置

Backbone.emulateJSON = true;

根据http://backbonejs.org/#Sync-emulateJSON

于 2013-11-13T22:44:15.960 回答
0

您需要解析原始帖子数据字符串并将其解析为 python dict。

import json
data = json.loads(request.raw_post_data)
于 2013-05-05T23:30:53.803 回答