Не могу получить список XML из веб-службы - PullRequest
0 голосов
/ 02 мая 2018

У меня есть сервер под управлением OTRS 5, и я хотел бы получить список в формате XML. Я использую код JavaScript, который должен отображать список, но вместо этого я получаю сообщение об ошибке.

Мой локальный сервер https://labcentos3/otrs/mds.pl?Action=ServiceList.

Я думаю, что это скрипт Perl, который выполняется на стороне сервера, а затем отображает список в формате XML.

Это то, что я получаю, если просматриваю локальную ссылку: она дает мне список, который я хочу

This is what I get if I browse the local link, it gives me the list I want

Я написал 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>       

reader.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',, что запрещено для запросов из разных источников, требующих предварительной проверки.

...