我想用jQuery來閱讀網頁的HTML。我使用以下內容閱讀與jQuery的頁面的HTML
$.ajax({
url: page,
dataType: 'html'
});
其中頁面是頁面的地址。
這工作正常,如果我想閱讀與調用頁面具有相同域的頁面。
但是,如果我想從不同的域讀取頁面,它將返回空白。
任何人都知道我可以從另一個域讀取html嗎?
我想用jQuery來閱讀網頁的HTML。我使用以下內容閱讀與jQuery的頁面的HTML
$.ajax({
url: page,
dataType: 'html'
});
其中頁面是頁面的地址。
這工作正常,如果我想閱讀與調用頁面具有相同域的頁面。
但是,如果我想從不同的域讀取頁面,它將返回空白。
任何人都知道我可以從另一個域讀取html嗎?
很簡單:你不能。有一些技巧來執行來自其他域(JSONP)的JavaScript代碼,但通常只有在另一方支持它時纔有效。對於HTML,你運氣不好。
你可以去的唯一方法是在你的服務器上運行一個代理,它通過你的域重定向請求。
這是一個安全功能,不允許使用此功能。
您需要使用JSONp才能跨域獲取數據。
而且您可以將JSONp與[** YQL **]結合使用(http://developer.yahoo.com/yql/)從其他域上的頁面獲取HTML。 – 2010-10-07 21:22:19
如果不使用服務器作爲代理,則無法進行跨域Ajax請求。 http://en.wikipedia.org/wiki/Same_origin_policy – 2010-10-07 21:05:16
這違反了同源策略http://en.wikipedia.org/wiki/Same_origin_policy – Adam 2010-10-07 21:05:18