cbm*_*ica 9 javascript backbone.js
我有一个Collection需要将一些数据发送到其url以获取所需的数据.这两个问题的答案是,使用POST请求获取集合?和重写fetch()方法中的骨干机型,使它看起来像我应该能够得到像这样的工作:
fetch: function( options ) {
this.constructor.__super__.fetch.apply(this, _.extend(options,{data: {whatever: 42}, type: 'POST'}));
}
Run Code Online (Sandbox Code Playgroud)
,但是Firebug仍然显示我发生了404错误,因为正在针对相关网址执行GET(并且底层的Rails路由仅允许POST).这应该有用吗?如果是这样,我还能尝试什么?如果没有,我做错了什么?
Den*_*ngo 16
在再次阅读问题之后,这里有一种强制获取使用POST每次获取调用的方法.(感谢您的评论)
yourCollection.fetch({
data: $.param({id: 1234}),
type: 'POST',
success: function(d){
console.log('success');
}
});
Run Code Online (Sandbox Code Playgroud)
另一种方法是覆盖AJAX实现本身以POST用于所有调用.
Backbone.ajax = function() {
var args = Array.prototype.slice.call(arguments, 0);
_.extend(args[0], { type: 'POST' });
return Backbone.$.ajax.apply(Backbone.$, args);
};
Run Code Online (Sandbox Code Playgroud)