Заполните поле значением из поля с другой страницы в другом домене - PullRequest
2 голосов
/ 06 марта 2011

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

Есть 2 поля: # div-one (на первой странице) и #div-two (на странице-две)

Существует две страницы: страница-одна (в домене "One.com") и страница-две (в домене "Two.com")

Когда пользователь открывает страницу один, я хочу, чтобы # div-one извлек значение, находящееся внутри # div-two на странице два, расположенной на Two.com.

Я нашел этот код:

<script type="text/javascript">
function pullValueFromPageTwo(){
    var val = $('[#div-two]').text();
    $('#div-one').val(val);
}
</script>

Но я не нашел никакой подсказки о том, как использовать этот код для извлечения значения с другой страницы и домена с помощью jquery.

Ответы [ 3 ]

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

JSONP - это еще один метод обхода тех же политик происхождения.В jQuery 1.5 улучшена его поддержка.

http://api.jquery.com/jQuery.getJSON/
http://en.wikipedia.org/wiki/JSON#JSONP

0 голосов
/ 06 марта 2011

Или вы можете получить данные с Two.com с помощью чего-то еще (например, YQL {http://developer.yahoo.com/yql/}) и затем работать с результатами, используя javascript (поскольку он возвращает XML, это очень возможно) ..

Пример запроса, который вы можете поместить в адресную строку, чтобы увидеть результаты:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20xpath=%22/html/body/div[3]/div/div/div[2]/div/div[2]/div[2]/div[2]/div/div[3]/ul/li/h2%22%20and%20url=%22http://www.bbc.co.uk/news/%22;&format=xml&env=http://datatables.org/alltables.env

Затем вы можете получить значение с Two.com на One.com с небольшим количеством ajax и делать то, чтоВы хотите с этим.

0 голосов
/ 06 марта 2011

jQuery на One.com не может получить доступ к Two.com из-за той же политики происхождения .

Однако , если они находятся в одном домене, что-то вроде этого должно работать ...

var otherPage = $('body').load('/echo/html/', function(html) {

    var text = otherPage.find('#div-two').text();

    $('#div-one').html(text);

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