此代碼應該獲取http://yahoo.com/(index.html)
的HTML源代碼,並在對話框中顯示它。爲什麼這不會獲取源代碼?
$.ajax({ url: 'http://yahoo.com', success: function(data) {
alert(data);
}
});
但是,它不會做任何事情......
這有什麼錯我的代碼?
此代碼應該獲取http://yahoo.com/(index.html)
的HTML源代碼,並在對話框中顯示它。爲什麼這不會獲取源代碼?
$.ajax({ url: 'http://yahoo.com', success: function(data) {
alert(data);
}
});
但是,它不會做任何事情......
這有什麼錯我的代碼?
默認情況下,您不允許進行跨域請求。這違反了Cross Origin政策。
要使其工作,請求的域必須發出允許請求域的標頭。
我有關於如何設置和使用CORS政策教程:http://fritsvancampen.wordpress.com/2013/02/03/cross-site-origin-requests-aka-cross-origin-resource-sharing/ ,但如果你想獲取來自雅虎,你需要控制自己的域名..而這不會發生的數據;)
Ajax不用於您的目的。你必須像這樣使用
$content = file_get_contents('http://www.yahoo.com/');
print_r($content);
同源策略是有幫助的!!!! –
因爲你不能對外部域進行Ajax調用,除非他們**明確地允許它(谷歌CORS)。大多數「正常」網站(而不是web API)不會。 –
嘗試查看您的瀏覽器的開發人員工具以查找錯誤。 – j08691