отправка данных на другой сайт и получение результата - PullRequest
0 голосов
/ 01 сентября 2011

Если у меня есть website1.com и website2.com, могу ли я отправить данные (например, значение с входа) с website2.com на website1.com и получить результат? без обновления страницы или перенаправления. Я хотел бы использовать только javascript & ajax, а не PHP или jQuery. Если возможно, приведите пример, как это сделать.

Я думал о создании элемента script (с javascript) на website2.com с src вроде: website1.com?data=<value from input>, и когда script элемент загружает src, он покажет мне результат, но, возможно, есть лучший вариант сделать это.

PS: у меня будет больше отдельных данных для отправки.

Примечание: это не XSS, это просто публичный проект для веб-сайтов, который должен обновлять данные каждые x минут и отправлять некоторые данные на website1.

Спасибо.

Ответы [ 4 ]

2 голосов
/ 01 сентября 2011

Ваш вопрос не совсем понятен, но в целом, когда вам нужно сделать межсайтовый AJAX, вы должны использовать JSONP

1 голос
/ 01 сентября 2011

Так как XmlHttpRequest не работает междоменный, вы должны использовать JSONP .По сути, это динамическое добавление тега сценария, как вы предлагаете.Затем сервер использует ваши данные GET, делает все, что хочет, и обычно «печатает» функцию обратного вызова.

Когда вы вызываете файл с помощью тега script, он оценивает все отображаемое.Вот почему, если на стороне сервера вы делаете:

<?php
echo 'alert(1);';
?>

Это будет оцениваться как javascript.После этого вы можете легко понять, как использовать функцию обратного вызова (другой параметр GET).

Кроме того, в jQuery есть опция jsonp, когда вы вызываете $. Ajax (используя«обратный вызов» как параметр GET по умолчанию, но может быть изменен).

0 голосов
/ 01 сентября 2011

У вас могут быть проблемы с XSS, но возможно, вы могли бы использовать ajaxgold.Это довольно простой способ отправить почти все.

Вызов на веб-сайт2

postDataReturnText( 'http://website2.com', 'data=bla', getResult );

Возврат результата

function getResult( text ) {}
0 голосов
/ 01 сентября 2011

то, что вы пытаетесь сделать, называется междоменным сценарием (XSS).с этим могут быть проблемы безопасности.

другой похожий поток

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