jQuery AJAX 跨域通訊
由於同源策略限制,跨域 AJAX 要求會遇到限制。當一個網域上的客戶端腳本嘗試存取來自不同網域的資源時,通常會因為安全性問題而失敗。
案例:
考慮 test. php 駐留在本地主機上,而 testserver.php 託管在 Web 伺服器上。從 test.php 到 testserver.php 的 AJAX 請求將會失敗,由於請求的跨域性質,會觸發「錯誤」警報。
解:
為了克服這個限制,JSONP(有填充的JSON)可以是
jQuery:
PHP:
在PHP中,回呼函數名稱透過jQuery 可以透過 $_GET['callback'] 獲得。透過以「callbackName('jsonString')」格式回顯回應,我們允許 jQuery 解釋 JSON 資料。
替代方案:
jQuery 提供了一種簡寫方法稱為 $.getJSON() ,它簡化了跨域 AJAX 請求。但是,它需要附加「callback=?」將 URL 作為 GET 參數。 jQuery 會自動用它產生的回呼方法來取代這個佔位符。
以上是jQuery AJAX 如何克服跨域通訊的同源策略限制?的詳細內容。更多資訊請關注PHP中文網其他相關文章!