我有一个集合需要将一些数据发布到它的 url 以获取它需要的数据。这两个问题的答案,Fetch a collection using a POST request?和 Overriding fetch() method in backbone model ,让它看起来像我应该能够让它像这样工作:
fetch: function( options ) {
this.constructor.__super__.fetch.apply(this, _.extend(options,{data: {whatever: 42}, type: 'POST'}));
}
,但 Firebug 仍然向我显示 404 错误,这是因为正在针对有问题的 url 执行 GET(并且底层 Rails 路由只允许 POST)。这应该工作吗?如果是这样,我还可以尝试什么?如果不是,我做错了什么?
最佳答案
再次阅读问题后,这里有一种方法可以强制提取在每次提取调用时使用 POST
。 (感谢评论)
yourCollection.fetch({
data: $.param({id: 1234}),
type: 'POST',
success: function(d){
console.log('success');
}
});
另一种方法是覆盖 AJAX 实现本身,以对所有调用使用 POST
。
Backbone.ajax = function() {
var args = Array.prototype.slice.call(arguments, 0);
_.extend(args[0], { type: 'POST' });
return Backbone.$.ajax.apply(Backbone.$, args);
};
关于javascript - 强制 Backbone fetch 总是使用 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15349949/