首頁 > web前端 > js教程 > JSONP如何解決跨來源資料傳輸問題?

JSONP如何解決跨來源資料傳輸問題?

Patricia Arquette
發布: 2024-12-23 02:39:34
原創
626 人瀏覽過

How Does JSONP Solve Cross-Origin Data Transfer Issues?

JSONP:入門

簡介

JSONP,或有Padding 的JSON,是一種有助於數據交換的JSON 擴展不同來源的網站之間。它的創建是為了規避瀏覽器的跨來源資源共享 (CORS) 限制。

概念

當網站嘗試從另一個具有不同來源的網站存取資源時,瀏覽器會應用CORS限制以防止安全漏洞。 JSONP 透過使用不受 CORS 限制的腳本標籤來利用此機制中的漏洞。

JSONP 的工作原理

要使用JSONP,客戶端網站包含一個指定回呼函數並向伺服器網站發送請求的腳本,如下所示:

http://www.example.net/sample.aspx?callback=mycallback
登入後複製

伺服器網站以JSON回應資料包裹在指定的回調函數中,如下所示:

mycallback({ foo: 'bar' });
登入後複製

客戶端網站定義了回調函數,該回調函數在腳本載入時執行:

mycallback = function(data){
  alert(data.foo);
};
登入後複製

解決跨來源問題

JSONP 允許透過使用腳本標籤繞過CORS 限制進行跨來源資料傳輸。這使得網站即使託管在不同的網域上也可以相互通訊。

用例

JSONP 在CORS 不可用的情況下很有用,例如:

  • 從外部API 擷取資料
  • 啟用跨站點通訊小工具和可嵌入內容

以上是JSONP如何解決跨來源資料傳輸問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板