LINUX.ORG.RU

AJAX-запрос возвращает пустой Response

 ,


0

1

Я дёргаю CGI-скрипт AJAX'ом и напрямую по ссылке.

Если я это делаю напрямую, то всё ОК, вижу в Firebug'е вкладку JSON, могу посмотреть поля объекта.

Если AJAX'ом, то получаю правильные заголовки, но пустой Response и статус запроса fail.

В чём собака порылась?

CGI-скрипт:

#!/usr/bin/perl
use CGI;
my $q=CGI->new;
my $json='{"name":"Alice", "country":"Wonderland"}';
print $q->header(
	-type=>'application/json; charset=utf-8',
	-Content_length=>length($json),
);

print $json;

★★★★★

Выяснил, что такая трабла только тогда, когда сама HTML-страница открывается браузером локально, а не с веб-сервера.

Если открыть с веб-сервера - то всё нормально работает.

Гм, загадка какая-то...

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от anonymous

У меня не сайтик, а морда лица для системы мониторинга. Почвуствуй разницу. А мониторить можно хоть завод - лишь бы спрос был.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

когда сама HTML-страница открывается браузером локально

Т.е. через file://? Если да, то ajax работать не будет, потому что по-умолчанию так нельзя из-за безопасности.

risenshnobel ★★★
()
Ответ на: комментарий от risenshnobel

Странно, со страницы же запрос уходит. Заблокировать запрос было бы логичнее, чем «не принимать» ответ.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от kilolife

И ещё 2 миллиона граблей приобретутся + отсечётся миллиард потенциальных возможностей? :)

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от kilolife

my $answer=(Нет + нет) == (нет + Нет)?«Враньё»:«Следует подумать над этим»;

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

Странно, со страницы же запрос уходит. Заблокировать запрос было бы логичнее, чем «не принимать» ответ.

А у тебя запрос на страницу по http://, или по file://? Если http, то я не совсем прав, не должно работать только для варианта на file://.

А вот выше верно сказали, это CORS.

risenshnobel ★★★
()
Ответ на: комментарий от risenshnobel

У меня на http:// запрос - на локальный Apache.

DRVTiny ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.