我想在骨干js中创建一个crud操作,数据来自数据库。我无法理解我在骨干示例中放置ajax调用的位置。请帮忙。
答案 0 :(得分:4)
听起来你还没有采用“Backbone方式”。在Backbone中,您(一般来说)不会在代码中的任何位置放置任何AJAX调用,因为您需要的所有AJAX逻辑都已经在Backbone的代码中。
您的代码需要提供的是“缺少的部分”,使您的应用程序与众不同。例如,假设您想要“获取”(即在“CRUD”中执行“R”)在Backbone中使用ID 55进行Foo。你会像这样制作一个Foo类:
var Foo = Backbone.Model.extend({
url: 'www.example.com/yourServerPathForFoos'
});
然后你会创建一个它的实例:
var foo55 = new Foo({id: 55});
然后你会通过调用fetch命令让Backbone为你做AJAX工作:
foo55.fetch();
这将使Backbone启动一个AJAX请求,当该请求返回时,Backbone将使用任何返回的数据填充foo55
。你可以提供任何jQuery AJAX选项,Backbone会将它们传递给jQuery,或者做类似jQuery对它们所做的事情。
例如,要在AJAX调用解析时执行某些操作,您可以执行以下操作:
foo55.fetch({success: doSomething});
对于CRUD的其他部分也有类似的Backbone方法:
C - 保存
R - 获取
U - 保存(使用{patch: true}
参数)
D - 破坏