Отправить сообщение на другой домен с помощью JS - PullRequest
5 голосов
/ 27 февраля 2011

Я бы хотел, чтобы почтовый запрос был отправлен после изменения определенного поля ввода текста с использованием JavaScript.

Так вот мой текущий код:

<input name="message" onchange="$.ajax({type: \"POST\", url: \"http://example.com/example.php\", data: \"message=\" + document.getElementsByName(\"message\")[0].value});" />

Теперь он работает на обычном соединении, но не работает на защищенном соединении (SSL). Я имею в виду, что страница защищена, но запрос отправляется на незащищенную страницу.

Есть ли решение?

Ответы [ 2 ]

2 голосов
/ 27 февраля 2011

Установите целевой атрибут формы, чтобы он указывал на скрытый iframe.

Вы не сможете прочитать ответ, но можете сделать запрос.

Если хотитечтобы прочитать ответ, вам необходимо прокси-запрос через ваш собственный сервер.

0 голосов
/ 27 февраля 2011

Как указывает Дэвид, невозможно выполнить асинхронный POST для службы в другом домене из-за (вполне разумного) ограничения той же политики происхождения.JSON-P работает только потому, что вам разрешено вставлять теги в DOM, и они могут указывать куда угодно.

Вы можете создавать междоменный AJAX с GET, используя JSONP: JSONP CrossDomain

В нем также описывается, как выполнять JSONP с jQuery

. Политика одинакового происхождения не позволяет документу или скрипту, загруженному из одного источника, получать или задавать свойства документа из другого источника.Считается, что две страницы имеют одинаковое происхождение, если протокол, порт и хост одинаковы для обеих страниц.http://rj3.net/mdc/sop

убедитесь, что вы указали ssl в URL-адресе ajax, когда на остальной части вашей страницы тоже используется ssl, например, https

Вы не можете отправить его с https на сайт http.любой актив https (html или другой) может быть доступен только для того же сертификата домена / ssl.таким образом, вы не сможете делать то, что пытаетесь сделать (https to http).так как ваша страница обслуживается по https, целевой http-сайт не может получить к ней доступ из-за политики

...