我正在尝试使用.ajax来测试我们在内部应用程序(基本身份验证)上的登录页面并查看http状态代码。但是,模态窗口仍会弹出提示输入登录凭据。为什么是这样?我试图让这个发生在幕后。
代码:
$(document).ready(function() {
$.ajax({
url:"./testurl.aspx",
type: "POST",
data:{
username: "Test",
password: "Password"
},
complete: function(xhr){
alert(xhr.status);
}
});
});
但我仍然明白这一点:
然后当然会显示警告(xhr.status),但是我需要这个而不需要手动输入用户名/ pw。
答案 0 :(得分:3)
HTTP Basic Authentication可以作为HTTP标头或URL传递,而不是POST主体。
将其放入网址的示例:
$.ajax({
url:"//Test:Password@" + location.host + "/path/to/testurl.aspx",
type: "POST",
complete: function(xhr){
alert(xhr.status);
}
});
您还可以使用ajax方法的headers属性来尝试添加标头,但这需要Base64编码密码。