Не удается проанализировать локальный XML-файл с помощью javascript

#javascript #xml #xmlhttprequest #xml-parsing

#javascript #xml #xmlhttprequest #xml-синтаксический анализ

Вопрос:

Когда я пытаюсь проанализировать локальный xml-файл с помощью простого javascript, код после xhr.open не выполняется.

 <html>
<head>
<script type="text/javascript">
function createXMLHttpRequestObject()
{
    if (window.XMLHttpRequest) {
      xhttp=new XMLHttpRequest();
    } else {
      xhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    return xhttp;
}

function makeRequest()
{
    var xhr = createXMLHttpRequestObject();

    try {
    xhr.open("GET", 'books.xml', false);
    xhr.send(null);
    //xhr.onreadystatechange = function() {
     //if(this.readyState == 4) {
      xmlDoc=xhr.responseXML;
     alert(xmlDoc);
     //}
   }
   } catch( err ) {
        alert("ERROR: "   err.description);
    }
}
</script>
</head>
<body>
    <div onclick="makeRequest();">test<br></div>
    <div id="out">Output Here</div>
</body>
</html>
  

the books.xml файл выглядит следующим образом,

 <?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->

<bookstore>

    <book category="COOKING">
      <title lang="en">Everyday Italian</title>
      <author>Giada De Laurentiis</author>
      <year>2005</year>
      <price>30.00</price>
    </book>

    <book category="CHILDREN">
      <title lang="en">Harry Potter</title>
      <author>J K. Rowling</author>
      <year>2005</year>
      <price>29.99</price>
    </book>

    <book category="WEB">
      <title lang="en">XQuery Kick Start</title>
      <author>James McGovern</author>
      <author>Per Bothner</author>
      <author>Kurt Cagle</author>
      <author>James Linn</author>
      <author>Vaidyanathan Nagarajan</author>
      <year>2003</year>
      <price>49.99</price>
    </book>

    <book category="WEB">
      <title lang="en">Learning XML</title>
      <author>Erik T. Ray</author>
      <year>2003</year>
      <price>39.95</price>
    </book>

</bookstore>
  

При поиске в Интернете я обнаружил, что «По соображениям безопасности современные браузеры не разрешают доступ через домены».
http://www.w3schools.com/xml/xml_parser.asp

Пожалуйста, помогите.

Ответ №1:

Вместо установки веб-сервера на localhost …. просто загрузите программное обеспечение aptana studio и импортируйте в него свой проект … и запустите свой HTML-файл, aptana напрямую откроет браузер и автоматически создаст веб-сервер с именем http://127.0.0.1:8000/yourprojectName

После этого вы не получите никакой ошибки.

Ответ №2:

Локальные файлы лучше всего считать запретной зоной. Ограничения безопасности довольно высоки. Вместо этого запустите веб-сервер на localhost и используйте его для доступа к вашей странице.

Ответ №3:

вы можете попробовать использовать локальный веб-сервер для быстрого решения проблемы.