部队骨干取总是使用POST(Force Backbone fetch to always use P

2019-07-21 08:32发布

我有一个需要一些POST数据到其URL以获得它需要的数据的集合。 回答这两个问题, 使用POST请求获取集合? 和重写fetch()方法中的骨干机型 ,使它看起来像我应该能够得到像这样的工作:

fetch: function( options ) {
  this.constructor.__super__.fetch.apply(this, _.extend(options,{data: {whatever: 42}, type: 'POST'}));
}

,但萤火虫仍然显示了我一个404错误,因为GET正在对相关网址执行的是正在发生的事情(和潜在的Rails的航线只允许POST)。 这应该是工作? 如果是这样,还有什么会我试试吗? 如果没有,我做了什么错?

Answer 1:

再次阅读问题后,这里有一个方法来逼取使用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);
};


文章来源: Force Backbone fetch to always use POST