我想使用 Backbone.js 将 header 放入对我的 REST 服务的发布请求中,我尝试了两种方法:
this.model.save( { headers: {'X-Token' : myToken } } );
还有一个 setResquestHeader :
函数:
sendToken: function (xhr) {
var tokenCookie;
var name = "xtoken" + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) tokenCookie = c.substring(name.length,c.length);
}
xhr.setRequestHeader('X-Token', tokenCookie);
}
电话:
this.model.save({
beforeSend: this.sendToken,
success: function() {
alert("success");
},
error: function(model,response,options) {
alert("error");
}
});
但是好像不行,它不发送header
最佳答案
Model.save
的签名是 model.save([attributes], [options])
。您必须传递一个空/空的属性散列才能添加选项:
this.model.save(null, {
headers: {'X-Token' : 'myToken'}
});
还有一个演示 http://jsfiddle.net/nikoshr/a4gss/
或者
this.model.save(null, {
beforeSend: function(xhr) {
xhr.setRequestHeader('X-Token', 'set token');
}
});
关于javascript - 使用 Backbone.js 发布请求中的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21825485/