在我的REST服务器中,它要求access_token存在于每个请求中。即在POSTing数据中,access_token需要与属性一起提交。
如何配置backbone.js以将access_token添加到每个GET,PUT,POST和DELETE请求?
感谢。
答案 0 :(得分:4)
好的,我想我找到了一种在jQuery中如何做的方法。
$.ajaxSetup (
{
data: { access_token: 'my_access_token' }
}
);
答案 1 :(得分:1)
Backbone使用jQuery / Zepto来处理AJAX请求,因此您可以使用这些库中提供的功能。
要向jQuery发出的所有XHR调用添加自定义标头,您可以使用在每个ajax请求之前触发的jQuery.ajaxSend event,并修改它作为参数接收的jqXHR。
根据OP的评论进行编辑:
修改发送数据的最简单方法可能是覆盖Backbone.sync函数。您可以包装本机实现,并在那里添加所需的属性:
var nativeSync = Backbone.sync;
Backbone.sync = function (method, model, options) {
//for POST/PUT requests, add access token to the request
if(model && (method === 'create' || method === 'update')) {
var data = _.extend(model.toJSON(), {
access_token: 'token'
});
options.data = JSON.stringify(data);
}
//call the native Backbone.sync implementation
nativeSync(method, model, options);
};