使用JSONP 的跨源請求:一個簡單的jQuery、PHP 範例
在處理同源策略施加的限制時, JSONP 成為跨域請求的有效解決方案。這種技術可讓您從外部來源檢索數據,同時避免潛在的安全漏洞。
jQuery 和 JSONP
要使用 jQuery 啟動 JSONP 要求,您可以使用$.getJSON 方法。此方法會自動觸發JSONP 請求,如以下程式碼片段所示:
$.getJSON('http://www.example.com/jsonp.php', {firstname: 'Jeff'}, function(res) { alert('Your name is ' + res.fullname); });
PHP 和JSONP
伺服器端,PHP 作為端點用於處理JJSON請求。 $.getJSON 方法將回呼參數附加到 URL 查詢字串,該字串隨後由 PHP 腳本處理。此腳本傳回封裝在回呼函數中的回應,如下所示:
<?php $fname = $_GET['firstname']; if ($fname == 'Jeff') { echo $_GET['callback'] . '(' . "{'fullname': 'Jeff Hansen'}" . ')'; } ?>
請注意在建置回應時使用 $_GET['callback'] 和正確的 JSONP 語法。這確保了客戶端提供的回調函數用於封裝回應。
處理 HTML 結果
雖然提供的範例主要說明了 JSON 資料的交換,值得注意的是,JSONP 也可以用於傳輸 HTML 內容。為了適應這種情況,只需確保 PHP 腳本將 HTML 包裝在回調函數中並將其作為回應發送即可。然後,客戶端 JavaScript 可以根據需要解析並呈現 HTML。
以上是jQuery 和 PHP 如何使用 JSONP 促進跨來源請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!