LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【Web開發】JSONP通信原理淺析

admin
2025年8月18日 23:29 本文熱度 225

簡單說就是,將某JS方法的聲明調用分別交給前端和后端,通過實參形參間的傳值實現前后端通信。

這個方案乍看之下似乎有兩個問題,一個是這個“JS方法”是如何實現前后端同步的?

再就是后端服務器上的動態腳本執行環境怎么能調用前端瀏覽器上聲明的JS方法呢?

這里先回答第二個問題。那就是在這個情景下,說JS方法由后端調用,并不等于說執行也是后端在做

事實是,雖然調用是后端,但執行其實還是在前端瀏覽器中。

而實現這種調用與執行的分離,以及實現“JS方法”的同步,都是靠的一個相同的手段,那就是HTML的 script 標簽。

這個script標簽原本是用來通過http請求加載靜態的JavaScript腳本資源的。可是某個老六突發奇想,用script加載起動態的JavaScript腳本,然后就誕生了JSONP的通信方式。

這里說的所謂“靜態的JavaScript腳本資源”,說的是放在服務器磁盤上一成不變的JavaScript文本資源,誰請求都是得到一個相同的副本,就像提前做好的預制菜一樣。

而所謂“動態的JavaScript腳本資源”,就是說JavaScript文本資源并不是現成的,請求實際是發向一個后端運行的“動態腳本”,比如PHP、JSP之類的。然后JavaScript腳本則是由這些后端腳本再根據具體情況按需生成,整體而言就像“點菜現炒”。

具體說就是,這個“后端腳本”會根據http請求的具體參數的不同響應返回不同的JavaScript腳本文本給瀏覽器端來執行。

于是,那個計劃由“前端聲明后端調用”的JS方法的方法名便由前端創建,并由script標簽發起的http請求的get參數同步給了后端。

接著,后端腳本則根據得到的JS方法名拼接一個對該方法進行調用的JavaScript腳本片段,并將要傳輸給前端的數據作為此次調用的實參。

最后,這個由后端拼接的、帶著實參的“JS方法調用片段”便通過前端script標簽發起的http請求的響應報文從服務器返回給瀏覽器,并在瀏覽器端自動執行。

最終,在執行的過程中,后端的數據便通過JS方法調用時的實參傳遞給了JS方法聲明時的形參,進而進入回調函數,然后執行具體的前端渲染邏輯。

JSONP的流行主要是為了繞過瀏覽器的“同源策略”,實現跨域請求。相比于CORS這種更標準和簡潔的方案,它的優點就是兼容性好,不管多老的版本,只要支持JS的瀏覽器都支持JSONP。

-END-


閱讀原文:原文鏈接


該文章在 2025/8/19 9:01:32 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日日摸夜夜摸狠狠摸婷婷 | 在线精品三级视频在线网 | 在线观看AV免费网址 | 日本国产aⅴ片 | 制服丝袜有码中文字幕在线 | 亚洲AV福利天堂在线观看 |