jQuery-Ajax beforeSend基本身份验证未按预期工作

时间:2018-07-30 16:16:14

标签: javascript jquery

我正在尝试使用ajax将请求发送到受以下基本代码保护的服务器:

$('document').ready(function(){
        $.ajax({
          url: "https://somesite.com/somefolder",
          type: "POST",
          dataType: 'jsonp',
          beforeSend: function(xhr) {
                xhr.setRequestHeader ("Authorization", "Basic " + btoa('myusername' + ":" + 'mypassword'));
            },
          success: function(data){
            console.log('SUCCESS!');
          },
          error: function () {
            console.log("error");
            }
        });         
});

所以我在 beforeSend 中提供了凭据,因此我的期望是浏览器不会弹出凭据,因为我已经提供了凭据,但是不幸的是,当我运行此代码时,我得到了弹出窗口输入我的凭据。我想在代码中提供这些凭据。

1 个答案:

答案 0 :(得分:0)

类似于this question,使用标头的示例:

    $.ajax({
      url: "https://somesite.com/somefolder",
      type: "POST",
      dataType: 'jsonp',
      headers: {"Authorization": "Basic " + btoa('myusername' + ":" + 'mypassword')},
      success: function(data){
        console.log('SUCCESS!');
      },
      error: function () {
        console.log("error");
        }
    });