启用Backbone.emulateJSON() - POST问题

时间:2013-12-23 19:27:17

标签: javascript php codeigniter backbone.js

我正在编写一个使用带有主干前端的codeigniter后端自定义REST服务的应用程序。我在我的数据库中创建一个帖子(即评论)时遇到了麻烦。我已经读过,启用Backbone.emulateJSON()可能能解决这个问题。总之,我正在寻找包含这一行的地方。更长的解释...

当我手动提交表单以创建新帖子时,数据会按预期保存。当我在postAddView中尝试以下内容...

 save: function(e) {
        e.preventDefault();
        var that = this;
        var postCollection = this.postCollection;

        var newPost = {
            message:"this is a post",
            author_id:"22",
            location:"New York"
        }

        postCollection.create(
            newPost,
            {
                wait: true,
                success: function(response){
                    console.log("successful" + response.toJSON);
                },
                error:function(err) {
                    console.log("this is the error "+ err.toJSON);
                }
            });

        return this;
     }

因此,新记录将保存在我的数据库中,但不会填充任何数据。检查和比较chrome中的网络表明,来自骨干应用程序的ajax调用将其作为“请求有效负载”提交,而不是表单提交,即“表单数据”(均为POSTS)。

基于我上面的代码,如果有人有任何建议,我将非常感激 - 但我也在寻找包含backbone.emulateJSON()的地方,因为许多其他帖子都将此作为修复引用。

1 个答案:

答案 0 :(得分:1)

emulateJSON不是函数

Backbone.emulateJSON = true 

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