rails 3 ajax ответ из другого приложения - PullRequest
0 голосов
/ 20 января 2011

У меня есть приложение для отслеживания ошибок, которое будет использоваться для нескольких приложений. В приложении у меня есть tickets_controller, который отображает новую форму в facebox, используя facebox_render.

Это нормально работает, когда я делаю это в том же приложении. Чтобы было понятно, скажем, баг-трекер работает на localhost:3000, а клиентское приложение работает на localhost:3001

Но если я нажму localhost:3000/tickets/new с localhost:3001 через запрос ajax. Это не загружает форму вообще. Я попытался вставить div в localhost:3001 приложение и обновить его с помощью localhost:3000/tickets/new, тоже не работает.

Что-то мне нужно настроить или добавить?

Ответы [ 2 ]

2 голосов
/ 20 января 2011

Это связано с ограничениями XMLHttpRequest и его политики того же происхождения . Проще говоря, вы просто не можете выполнять межсайтовые запросы через AJAX (это ваш случай, поскольку номер порта является частью определения источника).

Есть несколько способов решения этой проблемы, которые вы, возможно, захотите исследовать, например. JSONP или прокси веб-сервис. Эта статья довольно неплохо суммирует пару возможных решений.

0 голосов
/ 20 января 2011

Из примера Facebox похоже, что он загружает содержимое удаленной страницы через XHR / AJAX. Вы можете сделать это только со страницами в одном домене / порту.

В вашем сценарии вам необходимо загрузить страницу в iFrame. Я не знаю, сможет ли Facebox сделать это. Проверьте Fancybox , так как он может это сделать и его легко реализовать.

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