jQuery междоменная публикация на сайте rails - PullRequest
0 голосов
/ 23 марта 2011

В настоящее время я разрабатываю небольшое приложение для рельсов, которое позволяет мне управлять моими личными закладками, что-то похожее на вкусную бумагу, и впервые я сталкиваюсь с ограничениями междоменной публикации форм, которые я 'Я не совсем уверен, как преодолеть.

При просмотре любого веб-сайта я могу нажать на закладку, которая внедряет jQuery (1.5) и пользовательскую HTML-форму в текущий DOM.После заполнения и отправки ранее введенной формы меня перенаправляют на мой веб-сайт rails, где отображается успешное подтверждение.

Моя проблема начинается, когда я пытаюсь избежать перенаправления, заменяя исходный рабочий процесс формы запросом Ajax,По-видимому, браузер применяет ту же политику происхождения, что ограничивает меня размещением любых данных на моем удаленном веб-сайте.

Некоторые разработчики предлагают мне прокси-запросы или начать рендеринг формы внутри iframe.Что касается прокси-решения, я, честно говоря, понятия не имею, как реализовать это с помощью rails.Iframe выглядит выполнимым, но я не уверен, насколько легко было бы получить доступ / работать / обновить из DOM.

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 23 марта 2011

Не позволяйте работе с iframe пугать вас.Легко получить доступ от родителя через:

  • window.frame.frame [0] ... // продолжить ваш вызов здесь, предполагая, что целевой iframe является первым / единственным фреймом на странице.

или

  • window.frame.frameid ... /// продолжайте ваш звонок здесь.

или с помощью jQuery:

  • $ ("# iFrame"). Contents (). Find ("# someDiv") // продолжить ваш звонок здесь.
1 голос
/ 23 марта 2011

При использовании подхода iFrame вы используете javascript для получения URL-адреса parent.window (я считаю). Я не уверен, сколько у вас еще доступа к DOM.

Вы также можете попытаться взглянуть на AJAX-сторону jQuery: Ajax API - jQuery . Это позволит вам публиковать в скрипте (я уверен, что я использовал его междоменный несколько лет назад). При этом вы можете заставить скрипт возвращать код в форму на странице, и вам не придется перенаправлять.

...