概念解釋
JSONP背後的核心思想是返回一個JavaScript文件呼叫回調函數並提供JSON 物件作為第一個參數。 PHP中的json_encode()函數可用來將陣列和物件轉換為JSON字串。
利用JSONP,可以在不同域的腳本之間建立通信,有效繞過同源策略限制,實現資料傳輸跨域交換。
","image":"http://www.luping.net/uploads/20241025/1729819813671af4a53548c.jpg","datePublished":"2024-11-08T21:36:51+08:00","dateModified":"2024-11-08T21:36:51+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}跨域JavaScript的JSONP回調實現
為了方便不同域之間的通信,引入了JSONP(JSON with Padding)。此技術涉及建立一個回調函數,該函數可用於包裝 JSON 資料並使其可以從不同的網域進行存取。以下是如何在PHP 中實作JSONP:
接受回呼參數
首先,在GET 請求中,我們接受一個名為「callback」的參數:
if(array_key_exists('callback', $_GET)){
...
}
包裝回呼函數
接下來,我們將回調 JavaScript 函數包裝在資料周圍。例如:
$callback = $_GET['callback'];
echo $callback.'('.$data.');';
PHP 範例
這是PHP 中的範例:
JavaScript 用法
要使用 JSONP 服務,您可以使用 script 標籤:
概念解釋
JSONP背後的核心思想是返回一個JavaScript文件呼叫回調函數並提供JSON 物件作為第一個參數。 PHP中的json_encode()函數可用來將陣列和物件轉換為JSON字串。
利用JSONP,可以在不同域的腳本之間建立通信,有效繞過同源策略限制,實現資料傳輸跨域交換。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3