javascript - URL 中的用户名和密码

标签 javascript xml http

我正在尝试加载一个要求用户名和密码的 XML 文件。

我正在使用的代码如下,我正在尝试在 URL 中发送用户名和密码:

xmlhttp.open("POST","http://admin:admin@192.168.0.5/myfile.xml",false);

我页面的完整代码如下所示:

<html>
<body>

<textarea id="test1" name="test1" cols="90" rows="30">
XML file will be displayed here
</textarea><br>

<script type="text/javascript">

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }


  xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     document.getElementById("test1").value=xmlhttp.responseText;
     } else
     {
     alert('Panel not communicating.Reason: '+xmlhttp.status);
     }
   }

xmlhttp.open("POST","http://admin:admin@192.168.0.5/myfile.xml",false);
xmlhttp.send();

</script>
</body>
</html>

有人知道我做错了什么吗?

最佳答案

首先,添加这个函数来创建授权头内容:

function make_base_auth(user, password)
{
  var tok = user + ':' + pass;
  var hash = Base64.encode(tok);
  return "Basic " + hash;
}

然后,调用该函数并将返回值存储在一个单独的变量中:

var auth = make_basic_auth('admin', 'admin');

最后,将 auth 的值传递给 XMLHttpRequest 对象:

xmlhttp.setRequestHeader('Authorization', auth);
xmlhttp.send();

署名:http://coderseye.com/2007/how-to-do-http-basic-auth-in-ajax.html

关于javascript - URL 中的用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11288330/

相关文章:

python - Flask login_required + 下一个 url 参数

javascript - 将 Javascript 插入管理员页脚 wordpress

javascript - 我可以解释一下这个 javascript 闭包的语法吗?

sql - 如何从 SQL Server 中的多个 XML 文件读取数据?

c# - Azure Function Http Trigger 验证正文数据

c# - 如何在 Windows 服务中托管简单的 ASP.NET Web 界面

javascript - promise 的功能在完全执行之前自动解析

javascript - 我的元素上的哪个 jQuery 附加事件首先触发?

xml - 如何从 Github 下载文本文件?

c# - 如何将 XML 数据转换为二进制可交付成果?