Backbone.js 通过AJAX请求提交表单
主干网基于表单中输入的数据从RESTful web服务检索数据的约定/最佳实践是什么 据我所知,我可以在视图中注册一个点击观察者,因此当点击表单提交按钮时,视图将从表单中检索数据。但我不清楚是从视图、模型还是路由器执行AJAX调用 基本上,我不清楚以下哪项是惯例:Backbone.js 通过AJAX请求提交表单,backbone.js,Backbone.js,主干网基于表单中输入的数据从RESTful web服务检索数据的约定/最佳实践是什么 据我所知,我可以在视图中注册一个点击观察者,因此当点击表单提交按钮时,视图将从表单中检索数据。但我不清楚是从视图、模型还是路由器执行AJAX调用 基本上,我不清楚以下哪项是惯例: 让视图获取参数,执行AJAX调用,然后将返回的JSON传递给模型 让视图获取参数并将其传递给模型,让它执行AJAX调用并从web服务检索数据 让视图获取参数并将其传递给路由器,让它执行AJAX调用并相应地填充适当的模型和视图 注意:我
注意:我需要将搜索条件提交给RESTful Web服务,该服务希望发布数据;如果我错了,请纠正我,但它似乎不能使用:
fetch
或save
。我是否应该在模型中创建一个函数,使用$.ajax({…})发布参数并接收JSON数据?主干.js模型已经设置为执行RESTful请求。方法2是您想要做的
您必须在模型中设置的唯一内容是URL:
MyModel = Backbone.Model.extend({
url: 'http://path/to/my/RESTful/service'
});
MyView = Backbone.View.extend({
events: {
'submit #myform': 'saveToModel'
},
initialize: function() {
// ...
},
saveToModel: function() {
// this triggers a RESTFul POST (or PUT) request to the URL specified in the model
this.model.save({
'foo': 'Foo!',
'bar': 'Bar!'
});
}
});
backbone.js模型已经设置为执行RESTful请求。方法2是您想要做的 您必须在模型中设置的唯一内容是URL:
MyModel = Backbone.Model.extend({
url: 'http://path/to/my/RESTful/service'
});
MyView = Backbone.View.extend({
events: {
'submit #myform': 'saveToModel'
},
initialize: function() {
// ...
},
saveToModel: function() {
// this triggers a RESTFul POST (or PUT) request to the URL specified in the model
this.model.save({
'foo': 'Foo!',
'bar': 'Bar!'
});
}
});
将提交事件绑定到表单id或div id,而不是按钮id。将提交事件绑定到表单id或div id,而不是按钮id。
fetch
和save
似乎不是可行的选项(参见原始帖子)。我应该创建一个处理请求的新函数吗?主干网在RESTful服务方面很聪明<代码>保存()在这个用例中工作得非常好。模型知道,当它是一个新资源时,应该使用POST
请求。也就是说,如果模型上没有设置id
元素。如果存在id
元素集,则模型将使用PUT
请求<另一方面,code>fetch将使用GET
请求。我对主干网有点陌生,但不应该将数据发布到处理它的控制器/路由?在我看来,这更符合MVC原则。。。但是如果你想在一条路线上发帖子,那么在主干网中是如何工作的呢?例如,在sammy.js中,这是非常简单的fetch
和save
似乎不是可行的选项(参见原始帖子)。我应该创建一个处理请求的新函数吗?主干网在RESTful服务方面很聪明<代码>保存()在这个用例中工作得非常好。模型知道,当它是一个新资源时,应该使用POST
请求。也就是说,如果模型上没有设置id
元素。如果存在id
元素集,则模型将使用PUT
请求<另一方面,code>fetch将使用GET
请求。我对主干网有点陌生,但不应该将数据发布到处理它的控制器/路由?在我看来,这更符合MVC原则。。。但是如果你想在一条路线上发帖子,那么在主干网中是如何工作的呢?例如,在sammy.js中,这非常简单