總之,你不能這樣做,至少不會以你期望的方式。出於安全原因,有一個same-origin policy,可以防止您向另一個域發出請求。
您的最佳選擇是在您的服務器上執行此操作並向其發出請求。我無法說服你如何在服務器上執行此操作,因爲你的問題不包括你正在使用的框架,但假設它是PHP,那麼你會讓該頁面帶上一個URL,或者你想要的東西可以從中生成URL,然後返回包含您列出的屬性的JSON對象。 jQuery的部分將是這個樣子:
$("a").click(function() {
$.ajax({
url: 'myPage.php',
data: { url: $(this).attr("href") },
dataType: 'json',
success: function(data) {
//use the properties, data.url, data.content, data.title, etc...
}
});
});
或者,使用$.getJSON()
短格式...
$.getJSON('myPage.php', { url: $(this).attr("href") }, function(data) {
//use the properties, data.url, data.content, data.title, etc...
});
以上所有沒有頂住,你最好的網址發送到您的服務器並且完全在服務器端完成,這將會減少工作量。如果您打算按照他們所看到的方式查看客戶的頁面,那麼這正是相同原產地策略可以預防的,例如,如果不是文章,而是他們的網上銀行?你可以看到爲什麼這是被禁止的:)
這聽起來像你想要訪問不同的域上的頁面,是這種情況? – 2010-05-29 01:26:32
是的..這是正確的 – Luke101 2010-05-29 01:55:31
只是想提及在谷歌上搜索這個主題時使用的關鍵字是「頁面刮擦」。如下所述,您不能跨域執行此操作,因此您需要一些服務器代碼將其拉入,解析並以您選擇的格式吐出所需的數據。 – Zachary 2010-05-29 02:25:38