首頁 > web前端 > js教程 > 主體

如何使用AJAX從外部域檢索資料?

Barbara Streisand
發布: 2024-11-28 05:10:11
原創
754 人瀏覽過

How Can I Use AJAX to Retrieve Data from External Domains?

跨域 AJAX 請求:探索解決方法

AJAX 徹底改變了 Web 開發,允許動態和互動式應用程式。然而,由於瀏覽器安全措施,嘗試發出跨域 HTTP 請求時會出現一個常見的障礙。本文探討了克服此限制並從外部領域檢索資料的替代解決方案。

問題陳述

該問題強調了無法直接對外部域執行AJAX 調用,例如“http://www.google.com”並在自己的網站上檢索結果。雖然使用「jsonp」資料類型似乎是一個解決方案,但接收到的資料缺乏 JSON 格式會導致語法錯誤。

解決方案:代理伺服器整合

建議的解決方案涉及使用伺服器端語言作為代理。該代理充當中介,從外部網域獲取資料並以適當的格式將其傳遞回客戶端網站。以下是使用jQuery 的範例實作:

$.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):

echo file_get_contents($_POST['address']);
登入後複製

iFrame 注意事項

iFrame 也遵循相同的跨域請求策略。因此,嵌入來自不同網域的 iFrame 將不允許直接資料檢索或操作。

結論

透過利用代理伺服器,可以繞過交叉- 域限制並使用 AJAX 從外部目的地檢索資料。這種方法提供了一種簡單有效的解決方案,使開發人員能夠建立與多個網域的內容無縫互動的應用程式。

以上是如何使用AJAX從外部域檢索資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板