我有一台运行OTRS 5的服务器,我想检索XML格式的列表。我正在运行应该显示列表的JavaScript代码,但我得到了一个错误。
我的本地服务器是https://labcentos3/otrs/mds.pl?Action=ServiceList
。
我认为它是一个在服务器端运行的Perl脚本,然后以XML格式显示一个列表。
如果我浏览本地链接,这就是我得到的:它给了我想要的列表
我编写了HTML和JavaScript,试图在以后处理检索到的数据时也这样做,但我无法通过错误。
<html>
<head>
<title>XML read</title>
<script src="reader.js" type="text/javascript"></script>
</head>
<body>
<h1>XML File</h1><br/>
</body>
</html>
var user = "bla bla bla";
var pass = "bla bla bla"
var getXMLFile = function(path, callback) {
var request = new XMLHttpRequest();
request.open("POST", path);
request.setRequestHeader("Content-Type", "text/plain");
//request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.setRequestHeader('Authorization', 'Basic ' + btoa(user + ":" + pass));
request.onreadystatechange = function() {
if(request.readyState === 4 && request.status === 200) {
callback(request.responseXML);
}
};
request.send();
};
getXMLFile("https://labcentos3/otrs/mds.pl?Action=ServiceList", function(xml) {
console.log(xml);
});
我在Chrome控制台中遇到的错误是:
XMLHttpRequest无法加载https://labcentos3/otrs/mds.pl?Action=ServiceList。该请求已重定向到&#39; https://labcentos3/otrs/index.pl&#39;,这对于需要预检的跨源请求是不允许的。