HTTP 跨域通訊:AJAX 困境
HTTP 跨域通訊:AJAX 困境XMLHttpRequest 是AJAX 技術的支柱,它強制執行跨域策略,阻礙通訊與外部伺服器的通訊。嘗試使用 AJAX 請求從不同網域檢索資料會導致可存取性錯誤。 為了克服此限制,引入了 JSONP。然而,由於預期的 JSON 格式與接收到的資料不匹配,它經常會引入語法錯誤。
唯一可行的解決方案:伺服器端代理The最實用的解決方案是使用伺服器端語言作為代理。此技術可讓您透過在伺服器上執行的中間腳本間接存取跨網域資料。
使用jQuery 和PHP 實作實現跨域資料使用jQuery 和PHP 檢索:
$.ajax({ url: 'proxy.php', type: 'POST', data: { address: 'http://www.google.com' }, success: function(response) { // response now contains full HTML of google.com } });jQuery 部分:
]$.ajax({ url: 'proxy.php', 類型:'發布', 數據: { 網址:'http://www.google.com' }, 成功:函數(響應){ // 回應現在包含 google.com 的完整 HTML } });
$.ajax({ url: 'proxy.php', type: 'POST', data: { address: 'http://www.google.com' }, success: function(response) { // response now contains full HTML of google.com } });PHP 代理(proxy.php):
PHP 代理(proxy.php):
echo file_get_contents($_POST['address']);
透過利用此透過這種方法,您可以有效地存取和顯示來自外部網域的數據,同時遵守AJAX 跨域策略。請注意所抓取資料的任何限製或潛在問題。免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3