@exxagw

Как отправить ajax запрос на другой домен?

Добрый день! Господа, помогите пожалуйста:

у меня на сайте site1.ru есть форма, данные с нее нужно отправить на другой домен site2.ru
Код ниже работает, если постить на своем домене (site1.ru).
$(function() {
			
			$("#callback_form").submit(function() {
				var str = $(this).serialize();
				$.ajax({
					type: "POST",
					url: "http://site2.ru/template/forms/callback.php",
					data: str,
					success: function(msg) {
						if(msg == 'OK') {
							result = '<div class="notification_ok">Ваша заявка получена!</div>';
							$("#callback_form").hide();
						} else {
							result = msg;
						}
						$('#callback_form_note').html(result);
					}
				});
				return false;
			});




		});
  • Вопрос задан
  • 4844 просмотра
Пригласить эксперта
Ответы на вопрос 2
@bromzh
Drugs-driven development
CORS
Вкратце - на принимающем сервере надо проставить нужные заголовки. Самый главный - Access-Control-Allow-Origin. Если делаешь публичный API , то ставь значение *.
Ответ написан
Комментировать
@lasoft
Front-End Developer ( start at 2009 )
Если смотреть ваш код, то никак. Ограничение origin policy в браузерах, можно вроде как-то включать в браузере, но об этом забудьте. Есть несколько вариантов:
1. Отправка на сервер с общим поддоменом, site1.parentdomain.com <> site2.parentdomain.com
2. Посмотрите JSONP.
3. Если первые два варианта не подходят, то остаётся наверно только проксирование запроса на своём сервере.
Все решения подробны описаны в интернете.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы