Om3*_*3ga 1 javascript jquery backbone.js
脚本
我正在使用骨干网建立联系经理.我有一个表单,当用户输入数据并按下提交按钮时,用户的数据将转到服务器并保存在数据库中.
问题
它确实有效,直到将其添加到数据库.但是,我还希望在添加到数据库后更新集合.出于这个原因,我使用以下代码行来更新集合.
addContact: function (e) {
e.preventDefault();
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 });
console.log(this.collection);
}
Run Code Online (Sandbox Code Playgroud)
上面的函数确实将数据添加到数据库,但它不会更新集合.但是当我删除{wait: true}它然后它确实更新了这个集合.
题
为什么wait: true不允许更新集合以及如何使其与之一起使用wait: true?
UPDATE
我还添加了回调函数,如下所示
{wait: true, success: this.successCallback}
Run Code Online (Sandbox Code Playgroud)
并添加了这样的功能
successCallback: function (collection) {
console.log('call back');
console.log(this.collection);
}
Run Code Online (Sandbox Code Playgroud)
但它在控制台中没有显示此功能?
更新2
错误功能截图

更新3
xhr截图

小智 6
我有同样的问题(甚至相同的代码).在我的后端我有:
Contact::create([
'first_name' => Input::get('first_name'),
'last_name' => Input::get('last_name'),
'email_address' => Input::get('email_address'),
'description' => Input::get('description')
]);
Run Code Online (Sandbox Code Playgroud)
它以状态200 OK回复,但我的收藏尚未更新.我google了很多,但没有找到解决方案.
我的后端代码没有向脚本返回任何内容,因此我决定测试返回的smth是否会进行更改.所以我将我的后端代码更新为:
$contact = Contact::create([
'first_name' => Input::get('first_name'),
'last_name' => Input::get('last_name'),
'email_address' => Input::get('email_address'),
'description' => Input::get('description')
]);
return $contact;
Run Code Online (Sandbox Code Playgroud)
现在它奏效了!在这两种情况下,请求都以200 OK响应,但只有在返回数据时才会触发"成功"事件.
希望能帮助你.
| 归档时间: |
|
| 查看次数: |
1856 次 |
| 最近记录: |