Couchdb jquery api添加授权标题

时间:2013-11-08 14:49:03

标签: jquery ajax couchdb

我想在登录请求中添加授权标头。 我试着用代码做到这一点:

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请求标头中,字段授权不存在。为什么呢?

1 个答案:

答案 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 ...