2014-08-27 78 views
0

这绝对不是用于生产,而是仅用于开发。我想要做的就是覆盖我认为是同步方法(当您执行model.save,model.updatemodel.destroy),然后传入开发人员在其config.development.js文件中提供的API密钥。重写骨干传递API密钥

我已经阅读了其他堆栈问题,你可以在同步方法,因为它只是一个Ajax请求,但我还没有看到任何举例,你可以做到这一点,甚至你可以把这个“写”

我正在寻找的是一个示例,记录任何可以让我传入额外标题的任何东西,例如删除,发布,放置,更新和修补程序,并仍然保持宁静。

唯一不需要api密钥的请求是GET请求。

+0

你可能想使用['$ .ajaxSetup'(HTTP: //api.jquery.com/jquery.ajaxsetup/),并添加适当的'{headers:{...}}'选项 – meagar 2014-08-27 21:10:09

+0

@meagar如果OP使用'jQuery',这将是一个很好的解决方案 – 2014-08-27 21:27:34

+0

@KyleNeedham我相信这是(至少)由Backbone暗示的。 Backbone使用'$ .ajax'来发布它的AJAX请求;如果'$'碰巧是Zepto而不是jQuery,那么'$ .ajaxSettings'将会是合适的,但我的观点是站得住脚的。 – meagar 2014-08-27 21:51:29

回答

1

您可以覆盖Backbone.sync并传入您的选项。确保在包含Backbone之后但在触发Backbone.sync的任何呼叫之前包含您的覆盖。

oldSync = Backbone.sync; 

Backbone.sync = function(method, model, options) 
{ 
    // Do some modification to options here and then call the old sync. 
    return oldSync(method, model, options); 
} 

下面是一些有用的文档链接,你看看: