使用backbone.js的POST不正确

时间:2011-08-23 05:09:12

标签: javascript json backbone.js

遵循这些说明 http://robertogds.com/post/3324511589/howto-backbone-js-using-rails-3

问题/错误是内容永远不会保存到数据库中。使用Firebug看起来POST json请求不正确: 内容     “空todo ......” DONE     假
文本     “测试”

基本上,backbone.js事件触发一个json更新,它接受输入数据(“test”)并创建一个新的模型属性“text”,而不是更新“content”数据属性......

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你是否在这样调用Backbone.js模型上的保存:

t = new Todo;

t.set({ 'content' : 'test' });

t.save();

或者你这样做:

t = new Todo;

t.save({ 'content' : 'test' });

当您尝试保存模型时,Web服务器还有任何输出到控制台吗?这可能有助于缩小问题的范围。

答案 1 :(得分:0)

该帖子的作者似乎忘了几步。 todos.js文件需要包含一些更改,以确保:text变量(在backbone.js todo示例中)更改为:content

例如setText函数

var text = this.model.get('content');

关闭功能

// Close the `"editing"` mode, saving changes to the todo.
    close: function() {
      this.model.save({content: this.input.val()});
      $(this.el).removeClass("editing");
    },

和createOnEnter函数

// create new **Todo** model persisting it to *localStorage*.
    createOnEnter: function(e) {
      var text = this.input.val();
      if (!text || e.keyCode != 13) return;
      Todos.create({content: text});
      this.input.val('');
    },