Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Не работает ajax при открытии сохран. документа


Автор: Prontit 2.9.2014, 06:26
Добрый день,

есть страница, на которой работает ajax. я сохраняю документ, затем открываю его как файл. вся логика js работает, а ajax нет, потому что ссылается на php файл, которого нет:

Failed to load resource: net::ERR_FILE_NOT_FOUND file:///C:/Users/Desktop/get_default.php?id=all&type=2

если указываю полный путь до скрипта 
Код

$.ajax({
        url: 'http://test1.ru/done/get_default.php?id=' + val+ '',


ругается так:

XMLHttpRequest cannot load http://test1.ru/done/get_default.php?id=1126. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

при открытии в браузере URL следующий: file:///C:/Users/Desktop/plan.php.htm

как это можно обойти?

Автор: Aliance 2.9.2014, 08:19
Все логично, вы копируете открытую часть программы, а закрытая остается удаленно. При обращении к ней напрямую ругается потому, что тот сервер не настроен принимать запросы от других серверов. Если это ваш сервер - можно добавить ему заголовок Access-Control-Allow-Origin, тогда работать будет. Если же сервер не ваш, то никак. Только сымплементировав у себя локально этот php скрипт.

Автор: Prontit 2.9.2014, 08:41
Цитата(Aliance @ 2.9.2014,  08:19)
Все логично, вы копируете открытую часть программы, а закрытая остается удаленно. При обращении к ней напрямую ругается потому, что тот сервер не настроен принимать запросы от других серверов. Если это ваш сервер - можно добавить ему заголовок Access-Control-Allow-Origin, тогда работать будет. Если же сервер не ваш, то никак. Только сымплементировав у себя локально этот php скрипт.

Заработало. Добавил заголовок

Код

header('Access-Control-Allow-Origin: *');


и вуаля.

Благодарю за помощь!

Автор: Aliance 2.9.2014, 13:26
Только будьте аккуратны, теперь любой хост может обратиться к этом адресу из скрипта и получить ответ. Не зря же оно по умолчанию отключено. Так что можете почитать подробнее про этот заголовок и решить, несет ли эта фича вам какую-либо опасность.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)