我想在登录请求中添加授权标头。 我试着用代码做到这一点:
function dblogin (credential){
$.couch.login({
name:credential.name,
password:credential.password,
headers: {'Authorization': 'Basic ...'},
success: function (data){console.log("loggato con successo!");},
error: function(status) {console.log("login non riuscito!" + status);}
});
}
但我看到,在HTTP请求标头中,字段授权不存在。为什么呢?
答案 0 :(得分:2)
从source code of jquery.couch.js,您会看到login
函数不会使用您发送的每个参数:
login: function(options) {
options = options || {};
$.ajax({
type: "POST", url: this.urlPrefix + "/_session", dataType: "json",
data: {name: options.name, password: options.password},
beforeSend: function(xhr) {
xhr.setRequestHeader('Accept', 'application/json');
},
complete: function(req) {
var resp = $.parseJSON(req.responseText);
if (req.status == 200) {
if (options.success) options.success(resp);
} else if (options.error) {
options.error(req.status, resp.error, resp.reason);
} else {
throw 'An error occurred logging in: ' + resp.reason;
}
}
});
所以实际上没有办法发送自定义标题。
编辑:这实际上是一种耻辱,因为他们定义their own ajax
function wrapper允许标头自定义。但由于某些原因,他们不会在某些特定功能中使用它,包括login
...