2010-10-07 57 views
0

我想用jQuery來閱讀網頁的HTML。我使用以下內容閱讀與jQuery的頁面的HTML

$.ajax({ 
     url: page, 
     dataType: 'html' 
    }); 

其中頁面是頁面的地址。

這工作正常,如果我想閱讀與調用頁面具有相同域的頁面。

但是,如果我想從不同的域讀取頁面,它將返回空白。

任何人都知道我可以從另一個域讀取html嗎?

+1

如果不使用服務器作爲代理,則無法進行跨域Ajax請求。 http://en.wikipedia.org/wiki/Same_origin_policy – 2010-10-07 21:05:16

+0

這違反了同源策略http://en.wikipedia.org/wiki/Same_origin_policy – Adam 2010-10-07 21:05:18

回答

1

很簡單:你不能。有一些技巧來執行來自其他域(JSONP)的JavaScript代碼,但通常只有在另一方支持它時纔有效。對於HTML,你運氣不好。

你可以去的唯一方法是在你的服務器上運行一個代理,它通過你的域重定向請求。

1

這是一個安全功能,不允許使用此功能。

您需要使用JSONp才能跨域獲取數據。

+0

而且您可以將JSONp與[** YQL **]結合使用(http://developer.yahoo.com/yql/)從其他域上的頁面獲取HTML。 – 2010-10-07 21:22:19