Получение набора результатов JSON с использованием JavaScript - PullRequest
0 голосов
/ 28 октября 2018

У меня есть веб-сайт Drupal с установленным JSONAPI (8.2)

Когда я посещаю http://example.org/jsonapi/node/mycategory, я получаю в браузере ответ JSON с 2 результатами, который содержит всю информацию, которая должна иметься,так что я знаю, что ссылка работает, и что информация общедоступна.

Теперь я хочу заполнить таблицу результатами, поэтому я сделал это JS

$(document).ready(startApp);

function startApp() {
  loadNews()
}

function loadNwes() {
  $.ajax({
    url: "http://example.org/jsonapi/node/mycategory",
    type: "GET",
    dataType: "JSON",
    data: {},
    async: true,
    success: function(res) {
      console.log(res);
      resultado = res;

      for (var i = 0; i < resultado.length; i++) {
        $("#listaResults").append("<li> hardcode res</li>");
      }
      $("#listaResultados").listview('refresh');
    }
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Then in my index.HMTL file I have this

<!DOCTYPE html>
<!--
    To change this license header, choose License Headers in Project Properties.
    To change this template file, choose Tools | Templates
    and open the template in the editor.
    -->
<html>

<head>
  <title>TODO supply a title</title>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
  <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
  <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
  <script src="js/ClientServicios.js" type="text/javascript"></script>
</head>

<body>
  TEST
  <div role="main" class="ui-content">
    <ul id="listaResults" data-role="listview" data-inset="true">
      <li>Resultado hardcode</li>
    </ul>
  </div>
</body>

</html>

Когда я запускаю страницу, я вижу результат с жестким кодом 1, но больше ничего, и если я иду на консоль браузера, у меня есть это

Запрос перекрестного источника заблокирован: та же политика происхождения запрещает чтение удаленного ресурса на http://example.org/jsonapi/node/mycategory. (причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin')

Поглядывая вокруг, я нашел это решение https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSMissingAllowOrigin

Но, во-первых, я отредактировал .htaccess, но ничего не произошло, и я получаю ту же ошибку, однако, когда я получаю доступ к JSON через браузер, он работает.

Почему JSON недоступен при использовании JavaScript и как я могу решить эту проблему?

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