访问浏览器登录弹出窗口中输入的用户名和密码来自jQuery

时间:2017-06-30 16:33:17

标签: javascript jquery authentication

当我访问需要身份验证的网站时,浏览器会显示登录弹出窗口。如何从jQuery访问从那里输入的用户名和密码?我不是在讨论网页表单中的字段,而是浏览器生成的弹出窗口。

1 个答案:

答案 0 :(得分:0)

您无法直接访问此内容。作为一种解决方法,您可以在网站上创建一个允许匿名身份验证的页面,这样就不会触发对话框,然后在该页面上使用jQuery来收集用户名和密码并为您执行身份验证。

如此处所述How to use Basic Auth with jQuery and AJAX?

jQuery(1.7.2+)

$.ajax
({
  type: "GET",
  url: "index1.php",
  dataType: 'json',
  async: false,
  username: username,
  password: password,
  data: '{ "comment" }',
  success: function (){
    alert('Thanks for your comment!'); 
  }
});

或者,1.7.2之前使用标题而不是用户名和密码

$.ajax
({
  type: "GET",
  url: "index1.php",
  dataType: 'json',
  async: false,
  headers: {
    "Authorization": "Basic " + btoa(USERNAME + ":" + PASSWORD)
  },
  data: '{ "comment" }',
  success: function (){
    alert('Thanks for your comment!'); 
  }
});