在Backbone.js中设置自定义标头不起作用

cod*_*der 1 javascript backbone.js

我试图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;
    }
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,通过fetch调用,标头被正确设置.在第二种情况下,使用该save方法,标题未设置,即使我已经尝试过两种方式.有什么想法吗?

Loa*_*oof 11

你可能想看看在Model#save文档.

model.save([attributes], [options]) 
Run Code Online (Sandbox Code Playgroud)

您实际上是在为模型设置一些属性而不是覆盖标题.

model.save({}, {
  beforeSend:sendAuthentication,
  headers:{
    "Override-Authorization":'Basic ' + proxyAuth
  }
});
Run Code Online (Sandbox Code Playgroud)

会做的.