有没有什么办法可以创建自己的ajax方法来发出POST请求而不是使用save?Backbone.js自定义模型请求
0
A
回答
0
保存不仅会触发AJAX请求,而且会触发事件和验证,所以我不会写我自己的“保存”方法。 但是,你总是可以写像模特功能:
var SomeModel = Backbone.Model.extend({
urlRoot: "/some/url",
altSave: function() {
$.post(this.urlRoot, {
/*assemble your post data*/
}, function (response) {
});
}
});
var s = new SomeModel();
s.altSave();
调用s.altSave();
将触发一个POST请求。
0
这是正确的,它的作品,但我认为这是一个更好的解决方案:
'use strict';
define([
'underscore',
'backbone',
'config/appConfig'
],function(_,Backbone,Config){
var StatsModel = Backbone.Model.extend({
urlRoot: Config.urlStats,
url: function() {
var url = this.urlRoot + "/resource";
return url;
},
defaults: {
metricID: '',
groupByID: ''
},
requestStats: function(opts) {
var url = this.url(),
options = {
url: url,
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(this.attributes)
};
_.extend(options, opts);
return (this.sync || Backbone.sync).call(this, null, this, options);
}
});
return StatsModel;
});
非常感谢您
+0
不,因为:1.它覆盖了'Backbone.Model'的默认'url',这是不必要的,2.'Backbone.sync'的底层实现可能会改变,3.您必须挖掘Backbone源才能知道'return(this.sync || Backbone.sync).call(this,null,this,options)''真的发生了什么?你今天可能会知道,但几个月后你就会伪造它,想象新的开发者会发生什么。我的解决方案更直接,开发人员更友好,并且不需要您深入图书馆的来源。如果您关心编写可维护的代码,请使用它。 –
+0
确实,你是对的。 – mmontes11
相关问题
- 1. Backbone.JS:模型功能的自定义url
- 2. Backbone.js的模型:自定义API
- 3. Backbone.js的 - 定义模型
- 4. backbone.js请求其中请求模型与响应模型不同的实体
- 5. Ember模型中的自定义请求网址
- 6. Laravel自定义CameCase模型的请求验证
- 7. Laravel - 如何获得自定义请求类中的模型ID
- 8. 使用restito的自定义内容类型模拟REST请求
- 9. Backbone.js模型未在视图中定义?
- 10. 自定义HTTP请求头
- 11. 模型绑定请求
- 12. 如何在backbone.js中进行自定义模型数据解析?
- 13. php处理来自backbone.js的请求
- 14. 在Backbone.js中执行来自模型的Ajax请求是否正确?
- 15. Backbone.js的不与模型名称发送请求
- 16. 有不同的请求和响应模型 - backbone.js
- 17. 如何在backbone.js模型同步中合并多个jsonp请求?
- 18. 自定义模型绑定
- 19. backbone.js问题模块定义
- 20. Backbone.js - 自定义JQuery事件
- 21. Backbone.js`model.destroy()`自定义转换?
- 22. Backbone.js的“不确定” get请求
- 23. 每个请求自动加载模型
- 24. 模型绑定自定义类型
- 25. Magento - 自定义模型
- 26. Laravel:自定义模型类
- 27. linqpad + linq2sql自定义模型
- 28. 自定义模型关系
- 29. JComboBox自定义表模型
- 30. Rails自定义元模型?
可以,但有辩论至于是否这是一个不错的办法。查看http://stackoverflow.com/questions/11331604/backbone-js-ajax-calls进行更详细的讨论。 – snozza
简单的方法是使用'$ .ajax'和'type = post'来代替主干模型。你为什么想要这样做呢? – AdityaParab
我已经找到了解决方案。非常感谢你。 – mmontes11