跨域資料傳輸:了解JSONP 及其起源
JSONP(帶填充的JSON)作為特定問題的解決方案出現Web 開發的早期。
瀏覽器安全限制禁止跨網域請求,導致網站無法存取存取託管在不同網域上的資料或服務。 JSONP 透過利用 <script> 的能力巧妙地規避了這個問題。 </script>
JSONP 的工作原理
使用 JSONP 時,網站會向支援 JSONP 的伺服器發出請求,並指定回呼函數參數。伺服器透過使用指定的回調名稱將 JSON 資料包裝在函數呼叫中來進行回應。
例如,期望「回呼」參數的伺服器的請求可能如下所示:
http://www.example.net/sample.aspx?callback=mycallback
伺服器的JSONP 回應可以是:
mycallback({ foo: 'bar' });
然後此回應以JavaScript 執行,呼叫客戶端上的預定義回呼函數
為什麼要創建JSONP
建立 JSONP 的目的是為網站提供一種在不違反跨域限制的情況下存取其他網域資料的方法。它使開發人員能夠克服瀏覽器安全協定施加的限制。
雖然 JSONP 對於支援舊版瀏覽器仍然有用,但由於安全問題,CORS(跨來源資源共享)作為替代方案的出現降低了其相關性以及請求處理的限制。儘管如此,JSONP 對於某些跨域資料傳輸場景仍然是一個有價值的工具。
以上是JSONP如何解決跨域資料傳輸限制?的詳細內容。更多資訊請關注PHP中文網其他相關文章!