使用来自另一个域上另一个页面的字段中的值填充字段

时间:2011-03-06 00:43:19

标签: jquery jquery-selectors

我正在尝试创建一个字段,该字段将从位于另一个域的另一个页面上的另一个字段中提取值。

有两个字段:#div-one(第一页)和#div-two(第二页)

有两个页面:第一页(在域名“One.com”上)和第二页(在域名“Two.com”上)

当用户打开第一页时,我希望#div-one拉出位于Two.com上的第二页上的#div-two内的值。

我找到了这段代码:

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

但我没有找到任何关于如何使用该代码从jquery从另一个页面和域中提取值的线索。

3 个答案:

答案 0 :(得分:1)

JSONP是另一种规避相同原始策略的方法。 jQuery 1.5改进了对它的支持。

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

答案 1 :(得分:0)

由于same origin policyOne.com上的jQuery无法访问Two.com

但是,如果他们在同一个域上,那么这样的话应该有用......

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

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

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

}),

答案 2 :(得分:0)

或者您可以使用其他东西(例如YQL {http://developer.yahoo.com/yql/})从Two.com获取数据,然后使用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

然后,你可以通过One.com的One.com获取One.com的价值,并用它做你想做的事。