使用backbone.js的POST错误

Incorrect POST using backbone.js

本文关键字:POST 错误 js backbone 使用      更新时间:2023-09-26

按以下说明操作http://robertogds.com/post/3324511589/howto-backbone-js-using-rails-3

问题/错误是内容从未保存到数据库。使用Firebug, POST json请求似乎是不正确的:内容"空todo……"完成假
文本"测试"

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

任何想法吗?

你是否像这样在Backbone.js模型上调用save:

t = new Todo;
t.set({ 'content' : 'test' });
t.save();

或者你在做这个:

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

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

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

例如setText函数

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

close函数

// 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('');
    },