Получать удаленные данные JSON, используя локальный файл HTML (используя JavaScript - jQuery) - PullRequest
1 голос
/ 11 февраля 2010

Я просто создаю небольшую утилиту с локальным HTML-файлом (checker.htm) с JavaScript (используя jQuery) на моем рабочем столе, которая запрашивает данные с моего веб-сайта каждые 10 минут.Если он находит его, он ничего не делает, иначе он предупреждает меня.

Проблема, с которой я сталкиваюсь, заключается в следующем: я не могу использовать ни POST, ни GET из локального файла HTML c: \checker.htm :

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function(){
$.post("http://www.mysite.com/st/prod_json.php?products_id=15",{},function(data){alert(data);},"text");
});
</script>

Я пробовал использовать POST или GET и с опциями: "text" / "json" - все с тем же результатом: только пустое всплывающее окно.

По-моему, это проблема с разрешением JavaScript?

Есть ли обходной путь?

Ответы [ 3 ]

1 голос
/ 11 февраля 2010

Вы должны использовать относительный URL для $.post(). В противном случае браузеры откажутся сделать запрос Ajax, чтобы предотвратить межсайтовый скриптинг.

Ранее сегодня был связанный вопрос: " Получить файл XML с использованием Ajax ", в котором ответы описывают некоторые возможные обходные пути.

0 голосов
/ 11 февраля 2010

Если вы пытаетесь получить данные из другого домена, вам нужно будет использовать JSONP для их получения.

0 голосов
/ 11 февраля 2010

Одинаковая политика происхождения домена . Одним из обходных путей является написание сценария на стороне сервера, размещенного в том же домене, и предоставление его в качестве прокси для удаленного домена. ИМХО, используя чистый JavaScript, добиться невозможно.

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