Javascript 带get/post请求的主干传递API密钥
每当我想保存我的模型/集合或提出任何类型的请求时,我都需要传递一个API密钥。使用jquery或主干网可以做到这一点吗 是的,您可以发送标题。我这样做:Javascript 带get/post请求的主干传递API密钥,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,每当我想保存我的模型/集合或提出任何类型的请求时,我都需要传递一个API密钥。使用jquery或主干网可以做到这一点吗 是的,您可以发送标题。我这样做: this.model.save(attrs, { headers: {api_key:that.api_key}, su
this.model.save(attrs,
{
headers: {api_key:that.api_key},
success: function() {
},
error: function(model, xhr, options){
},
});
使用$.ajaxSetup:
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('api_key', api_key);
}
});
如果您有多个页面,请将其包装成一个函数,并在每个页面上运行它。如果它是一个单页应用程序,只需在主干加载时运行它
您可以在某些位置定义api键,将其放在窗口对象上,或将其隐藏在DOM中,或将其作为参数传递给此函数 这个帖子回答你的问题了吗?“Emile linked”问题的答案非常适合解决这个问题。我推荐ajaxSend方法,因为它允许您在一个地方处理API键,并让它处理您在事后提出的每个AJAX请求,而无需任何额外的努力。您也可以覆盖主干同步,但是您发出的任何非主干AJAX请求都不会获得密钥。这种方法很有效,但它需要大量代码重复,因为您每次进行保存或销毁调用都需要它。通过使用Backbone.sync或更好的方式,通过使用jQuery的$.ajaxSend函数,您可以在一个地方处理整个API密钥问题。无论是谁否决了这一点,您能否提供一些解释,以便我改进答案?