Раньше это работало отлично, теперь загадочным образом это не так...
У меня есть первая html-страница со ссылкой. Делая click
ссылку, я хочу перенести контент с другой страницы Ajax
и отобразить его div
на первой странице.
Ошибка возникает в строке загрузки файла «ajax-content-html»:
$("#destino").load("contenido-ajax.html");
Ошибка, которую выдает браузер Chrome, следующая:
Доступ к XMLHttpRequest по адресу «file:///C:/misphp/contenido-ajax.html» из источника «null» заблокирован политикой CORS: запросы между источниками поддерживаются только для схем протоколов: http, data, chrome, chrome -расширение, https.
Если я открываю браузер Mozilla, он работает нормально. Раньше он также отлично работал с Chrome, а теперь нет. Я попробовал еще два компьютера с Chrome, и они выдают ту же ошибку...
Эта ошибка возникает локально, если я загружаю ее на сервер, она работает правильно.
Почему не работает локально?
Спасибо
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function()
{
$("#enlaceajax").click(function(evento)
{
evento.preventDefault();
$("#destino").load("contenido-ajax.html");
//alert("");
});
})
</script>
</head>
<body>
<a href="#" id="enlaceajax">Haz clic!</a>
<br>
<div id="destino"></div>
</body>
</html>
Что происходит, так это то, что для правильной работы веб-сервера требуется, если вы используете Linux, вы можете установить Apache и поместить свой проект в папку
/var/www/html
, а в браузере запустить его следующим образом:localhost/capeta_proyecto
Вы также можете попробовать его с Firefox, и он будет работать; в целях безопасности в новых обновлениях Google больше не разрешается запускать приложения, использующие Ajax, JavaScript или JQuery без веб-сервера (которые используют протокол
http
)Быстрым и эффективным решением может стать использование расширения для Chrome
Web server for chrome
, скачать которое можно отсюдаПосле установки вам просто нужно выбрать каталог, в котором находится ваша веб-страница, и он загрузит ее на этот сервер:
Мое решение состояло в том, чтобы запустить весь сайт на локальном сервере с помощью http-server , например: