Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 BackboneJS,创建和销毁,但没有更新方法?_Javascript_Ajax_Backbone.js_Crud - Fatal编程技术网

Javascript BackboneJS,创建和销毁,但没有更新方法?

Javascript BackboneJS,创建和销毁,但没有更新方法?,javascript,ajax,backbone.js,crud,Javascript,Ajax,Backbone.js,Crud,我注意到在BacbkoneJS中,Collection对象中有一个方法,允许您向该集合添加新模型,同时将新模型推送到服务器。这很方便,因为只有ajax请求成功时,它才会将新模型添加到集合中。它还将使用从服务器返回的ID更新模型上的ID 在Model对象上还有一个类似的方法,称为destroy,它只会在ajax请求返回200时销毁模型 我如何通过更新实现类似的功能,当我在模型上设置数据时,它将尝试将模型保存到服务器,确保状态为200,然后触发“更改”事件 问题是,如果我设置了模型数据(我必须这样做

我注意到在BacbkoneJS中,Collection对象中有一个方法,允许您向该集合添加新模型,同时将新模型推送到服务器。这很方便,因为只有ajax请求成功时,它才会将新模型添加到集合中。它还将使用从服务器返回的ID更新模型上的ID

在Model对象上还有一个类似的方法,称为destroy,它只会在ajax请求返回200时销毁模型

我如何通过更新实现类似的功能,当我在模型上设置数据时,它将尝试将模型保存到服务器,确保状态为200,然后触发“更改”事件

问题是,如果我设置了模型数据(我必须这样做才能调用save()),则会触发更改事件

谢谢

主干.Model.save()方法允许您指定要更改的属性。查看,看起来“model.set()”发生在服务器的成功响应上

因此,与其这样做

myModel.set({this:"that"});
myModel.save();

并且更改事件应在成功保存后触发

注意:我没有对此进行测试-这只是从读取源代码开始的。

Backbone.Model.save()方法允许您指定要更改的属性。查看,看起来“model.set()”发生在服务器的成功响应上

因此,与其这样做

myModel.set({this:"that"});
myModel.save();

并且更改事件应在成功保存后触发


注意:我没有对此进行测试-这只是从阅读源代码中获得的。

我完全忽略了这一点!非常感谢=)仔细看一下,似乎在保存到服务器之前设置了模型并触发了更改事件。因此,即使服务器没有返回200,客户机模型仍然会更新。。hmmI完全忽略了这一点!非常感谢=)仔细看一下,似乎在保存到服务器之前设置了模型并触发了更改事件。因此,即使服务器没有返回200,客户机模型仍然会更新。。隐马尔可夫模型