JSONP(JSON with Padding)是一種通過動態創建<script>
標簽來實現跨域請求的技術。它的原理是利用<script>
標簽沒有跨域限制的特點,通過在請求中指定一個回調函數的名稱,服務端在返回數據時將數據作為參數傳遞給這個回調函數,客戶端接收到數據后會自動執行這個回調函數從而獲取數據。
具體步驟如下:
<script>
標簽,指定請求的URL并在URL中傳入一個回調函數的名稱作為參數,例如http://example.com/data?callback=handleData
。handleData(data)
。handleData
函數,從而獲取到數據。通過這種方式,客戶端可以跨域獲取數據并在本地使用,從而實現跨域請求。需要注意的是,JSONP只支持GET請求,且存在一定的安全風險,因為服務端返回的數據會被直接執行,可能存在XSS攻擊的風險。因此,使用JSONP時需要注意對返回數據進行安全處理。