我有一个网站,我通过基本身份验证登录,工作正常。但是当我想下载一个.pdf文件(由服务器生成)时,我会弹出一个包含我需要登录的信息...:/。
我该怎样防止这种情况?或者如何通过链接发送基本身份验证信息?我看到了一些例子,例如:http://username:password@yourserver.com/filename.pdf。但这在IE中不起作用。
我怎样才能用html和/或jQuery来解决这个问题?
编辑: 我通过网站上的表单登录,这是有效的。但是当我想在登录时下载.pdf文件时,我会弹出窗口。
<a href="http://yourserver.com/yourpdffile.pdf">Report1.pdf</a>
答案 0 :(得分:3)
基本身份验证是基于服务器的,HTML和jQuery在这里很无奈。
但是,在向此页面发送AJAX请求之前,您可以提供这些详细信息。这是一个例子。
$.ajax({
'url': 'http://yourdomain.com/action/',
'beforeSend': function(xhr) {
xhr.setRequestHeader("Authorization", "Basic " + encodeBase64(username + ":" + password)
},
//.....
});
答案 1 :(得分:0)
理论上,您编写的方式是可能的(并且应该得到浏览器和服务器的支持)。但是,那是
我不知道为什么它在IE中不起作用,但最好不要使用它。