我正在尝试使用backbone.js
方法在save
应用程序中设置自定义标头。即使我可以使用fetch
方法成功设置标头,也没有设置标头。
switch(method){
case 'read' :
model.fetch({
headers:{
"Override-Authorization":'Basic ' + proxyAuth
}
});
break;
case 'create' || 'update' :
sendAuthentication = function (xhr) {
xhr.setRequestHeader('Override-Authorization','Basic ' + proxyAuth);
};
model.save({
beforeSend:sendAuthentication,
headers:{
"Override-Authorization":'Basic ' + proxyAuth
}
});
break;
case 'delete' :
model.delete({
headers:{
"Override-Authorization":'Basic ' + proxyAuth
}
});
break;
}
在第一种情况下,通过fetch
调用,标头设置正确。在第二种情况下,使用save
方法,标题未设置,即使我已经尝试过两种方式。有什么想法吗?
答案 0 :(得分:11)
您可能需要查看Model#save
的{{3}}。
model.save([attributes], [options])
您实际上是在为模型设置一些属性,而不是覆盖标题。
model.save({}, {
beforeSend:sendAuthentication,
headers:{
"Override-Authorization":'Basic ' + proxyAuth
}
});
会做到这一点。