Короткий ответ: вы не можете делать то, что пытаетесь сделать, с помощью Javascript, запущенного в браузере.
Политика одинакового происхождения будет блокировать запросы AJAX для URL-адресов в разных доменах.,Существует несколько исключений из этой политики:
Если целевой сервер поддерживает CORS , это может указывать на то, что запросы между источниками в порядке.URL-адрес, который вы пытаетесь получить, находится на сервере, который не поддерживает CORS.
Если целевой сервер поддерживает JSONP, ваш сценарий может получать данные с целевого сервера с помощью <script>
тег на вашей странице с атрибутом src
, указывающим на целевой URL и включающим параметр обратного вызова, чтобы сообщить серверу обернуть данные в функцию javascript, которая возвращает данные.URL-адрес, который вы пытаетесь найти, находится на сервере, который не поддерживает JSONP.
Да, jQuery позволяет отправлять запрос JSONP в другой домен, но ответне Javascript, а XML.Ваш браузер пытается выполнить XML, как если бы это был Javascript, и завершается неудачно с синтаксической ошибкой.
Любое решение для этого потребует поддержки на стороне сервера на сервере, на котором размещен ваш код.Вы можете настроить прокси-URL на своем веб-сервере, но вам нужно сделать это очень осторожно, потому что вы не хотите, чтобы ваш сервер использовался в качестве открытого прокси.Вы также можете использовать задание cron, чтобы захватить URL с помощью curl и сохранить его в статическом файле на вашем сервере, но это, вероятно, немного грубо.