我正在尝试访问需要授权的图表(网址类型为图片),并将其显示在fancybox中。因此我尝试使用XMLHttpRequest首先在头中发送授权并再次访问此URL,因为授权已经在缓存中绕过,这就是我将异步设置为false的原因。这是我的代码:
function showDiagram(row){
var authCode = $("#authCode").text();
var header = "basic" + authCode;
console.log("In show diagram");
var id = row.children().eq(6).text();
openURL = restURL + "/service/runtime/process-instances/" + id + "/diagram";
console.log(openURL);
var xhr
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}
else{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("GET", openURL, false);
xhr.setRequestHeader("Authorization", "Basic " + authCode);
xhr.send();
console.log(xhr.status);
if(xhr.status==200){
callFancybox(openURL);
}else{
alert("The diagram cannot be shown!");
}
}
但是,我遇到了两种不同的错误情况。
为什么会这样?我该怎么做才能绕过自动登录并在fancybox中显示网址?非常感谢您的任何想法!
答案 0 :(得分:0)
您没有指定服务器端的内容,问题就在那里。您必须修改服务器,以便它支持您的标头身份验证。根据您当前的实现,服务器会忽略标头,因此您要以不同的方式识别它。
除此之外,您不会发送任何凭据或其他任何凭据。您必须添加包含该信息的标题。