javascript - 强制 Backbone fetch 总是使用 POST

标签 javascript backbone.js

我有一个集合需要将一些数据发布到它的 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/

相关文章:

javascript - chrome 扩展和 dropbox dropin saver 错误

javascript - 关于使用 requirejs 的依赖

javascript - 从链接脚本 CFM 文件中获取域

jquery - HTML 元素 id 和backbone.js 的 $ 作用域实例

javascript - 为什么主干 view.el 是 'body' 一切正常,但当 view.el 是 '#container' 时就坏了?

javascript - 没有使用 jasmine.js 和 sinon.js 调用backbone.js 点击事件 spy

javascript - Backbone - 从 subview 触发父 View 事件

javascript - 使用 jQuery 向正文添加 onload 函数的正确方法

javascript - 如何在 MVC Core 中 require/reference config.json

javascript - 在 jQuery 事件处理程序中获取取消按钮上的确认对话框的结果