Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbone.js collection.create函数不';t返回更新模型并等待:true_Javascript_Backbone.js_Laravel 4 - Fatal编程技术网

Javascript Backbone.js collection.create函数不';t返回更新模型并等待:true

Javascript Backbone.js collection.create函数不';t返回更新模型并等待:true,javascript,backbone.js,laravel-4,Javascript,Backbone.js,Laravel 4,在将Backbone.js与Laravel 4一起使用时,我使用带有wait:true选项的this.collection.create()插入数据库。它可以插入数据库,但如果设置了wait:true,它不会更新模型。因此,如果我再次尝试输出集合,它不会被更新,即使尝试一个成功回调函数返回一个值,POST请求返回正数 该应用程序是一个联系人管理系统。 这是我的联系人模型: App.Models.Contacts = Backbone.Model.extend({ }); 这是我对添加联系人的

在将Backbone.js与Laravel 4一起使用时,我使用带有wait:true选项的this.collection.create()插入数据库。它可以插入数据库,但如果设置了wait:true,它不会更新模型。因此,如果我再次尝试输出集合,它不会被更新,即使尝试一个成功回调函数返回一个值,POST请求返回正数

该应用程序是一个联系人管理系统。 这是我的联系人模型:

App.Models.Contacts = Backbone.Model.extend({

});
这是我对添加联系人的看法

App.Views.AddContact = Backbone.View.extend({
el: '#addContact',
events: {
    'submit': 'addContact',
},
initialize: function() { // cache values
    this.first_name = $('#first_name');
    this.last_name = $('#last_name');
    this.email_address = $('#email_address');
    this.description = $('#description');
},
addContact: function(e) {
    e.preventDefault();
    this.collection = this.collection.create({
        first_name: this.first_name.val(),
        last_name: this.last_name.val(),
        email_address: this.email_address.val(),
        description: this.description.val(),
    }, { wait: true });

},
});
以下是收藏:

App.Collections.Contacts = Backbone.Collection.extend({
model: App.Models.Contacts,
url: '/projects/gamesapp/public/contacts',
});
这是页面上的脚本,它将所有这些付诸实施:

<script>
    new App.Router;
    Backbone.history.start();

    App.contacts = new App.Collections.Contacts;
    App.contacts.fetch().then(function() {
        new App.Views.App({ collection: App.contacts });
    });
</script>

新应用程序。路由器;
Backbone.history.start();
App.contacts=新App.Collections.contacts;
App.contacts.fetch().then(函数()){
新建App.Views.App({collection:App.contacts});
});
我该怎么做才能让它工作?我想在视图中创建,以便在本地更新模型,但它似乎没有这样做


谢谢

问题不在js或主干代码中,而是在我编写的Laravel代码中

帖子似乎返回了肯定的响应,但问题出在我控制器的store方法中,您必须从store()函数返回create()函数,为了清楚起见:

public function store()
{
    $input = Input::all();

    return Contact::create(array( // YOU HAVE TO RETURN SOMETHING
        'first_name' => $input['first_name'],
        'last_name' => $input['last_name'],
        'email_address' => $input['email_address'],
        'description' => $input['description'],
    ));

}
我的问题出现了,因为我没有返回它,只是调用Contact::create()函数。。。(触点为Laravel模型)