为何ajax认证不通过

服务器上已经设置了cors
Header set Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, content-type"
Header always set Access-Control-Allow-Methods "POST, GET, PUT, DELETE, OPTIONS"

basic auth 也设置好了
AllowOverride AuthConfig

服务器端进一步的设置
cd /var/www/html && vim .htaccess
AuthName "login"
AuthType Basic
AuthUserFile /var/www/html/passwd
require user username
Create password for username.

htpasswd -c /var/www/html/passwd username
systemctl restart httpd

输入111.111.111.111 跳出认证窗口,输入账号,密码,通过了,现在可以动手测试jquery代码了。

function Ajax( ) {
    var username="xxxx";
    var password="xxxx";
    var url = 'http://111.111.111.111/remote.html';
    $.ajax(url, {
        type:"GET",
        dataType: 'html',
        crossDomain: true,
        headers: {
            "Authorization": "Basic " + btoa(username + ":" + password)
             },
        success:function(response){
            mytext = $("remote");
            mytext.append(response);
        },
        error: function (e) {
            alert("error");
        }
    });
};

上面的代码无法通过验证,请问,为何?

阅读 1.4k
1 个回答
Header add Access-Control-Allow-Headers "origin, content-type, Authorization"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题