У меня есть веб-сайт 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 и как я могу решить эту проблему?