javascript - 无法从 Web 服务中检索 XML 列表
问题描述
我有一台运行 OTRS 5 的服务器,我想检索 XML 格式的列表。我正在运行一个应该显示列表的 JavaScript 代码,但我得到了一个错误。
我的本地服务器是https://labcentos3/otrs/mds.pl?Action=ServiceList
.
我认为它是在服务器端运行的 Perl 脚本,然后以 XML 格式显示列表。
如果我浏览本地链接,这就是我得到的:它给了我想要的列表
我编写了 HTML 和 JavaScript 来尝试稍后处理检索到的数据,但我无法克服错误。
HTML
<html>
<head>
<title>XML read</title>
<script src="reader.js" type="text/javascript"></script>
</head>
<body>
<h1>XML File</h1><br/>
</body>
</html>
阅读器.js
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。该请求被重定向到“ https://labcentos3/otrs/index.pl ”,这对于需要预检的跨域请求是不允许的。
解决方案
推荐阅读
- mysql - 从 csv 文件导入数据库,utf8 问题
- php - jquery-uniform 单选按钮不起作用 yajra-laravel-datatable 包(laravel 5.6)
- jquery - Dropzone jquery - 始终使用 GET 请求,事件设置为 POST
- angular - 使用 angular5 在验证中未收到错误消息
- assembly - IAR 汇编器指令 IF
- python - 在 Python 2.7.1 中创建 unicode XML 文件
- javascript - 当用户完成输入时运行 JS 代码
- asp.net-mvc - ASP.NET MVC 5,在 Session 中存储列表值
- node.js - Firebase 云功能脚本未运行
- android - Apache Cordova 在 div 中加载外部 URL 或网站