Проблема с Ajax: консоль говорит "Ожидается: </link>" - PullRequest
0 голосов
/ 30 апреля 2019

Javascript / Ajax ученик здесь!

Я пытаюсь использовать Ajax для загрузки страницы в div, когда нажимаю на пункты меню в панели навигации. Я сталкиваюсь с несколькими проблемами:

  1. Когда я, например, щелкаю элемент «прошлое» на панели навигации, в консоли появляется следующее сообщение об ошибке, ссылающееся на страницу, которую я пытаюсь загрузить: «Ошибка синтаксического анализа XML: несоответствующий тег. Ожидаемый: ». Я не вижу ничего на «прошлой» странице, кроме тега закрывающей головы, поэтому я предполагаю, что в моем коде Ajax есть проблема.

  2. Страница все равно загружается, но отображение навигационной панели полностью меняется (по любой причине).

Относительно проблемы 1, кто-то в моем классе предположил, что это может быть связано с идентифицированным типом «ответа». Но я не нашел ничего, что работает.

Любая помощь в отношении того, что я должен найти, приветствуется. Вам не нужно решать мой сломанный код. : -)

Спасибо!

<body>

<nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="index.html">EMILIE 1, 2, 3!</a>
    </div>
    <ul class="nav navbar-nav">
      <li class="active"><a id="past" href="#" onclick="display1()">Past</a></li>
      <li class="active"><a id="present" href="#" onclick="display2()">Present</a></li>
      <li class="active"><a id="future" href="#" onclick="display3()">Future</a></li>
    </ul>
  </div>
</nav>

<div id="container-fluid"></div>

<script>

// Past
function display1() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("container-fluid").innerHTML =
      this.responseText;
    }
  };
  xhttp.open("GET", "past.html", true);
  xhttp.send();
}

</script>

</body>

1 Ответ

0 голосов
/ 30 апреля 2019

Если вы пытаетесь получить html-файл локально, вам нужно настроить безопасность, чтобы браузер разрешил включить CORS.

Отключить ту же политику происхождения в Chrome

Вы должны использовать веб-сервер, чтобы открыть файл. Я размещаю ваш код для примера на бесплатном хосте. Сработало

https://viethien.000webhostapp.com/xmlget.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...