輕量級網站建設jsonp跨域簡單例項
瀏覽器的同源策略,限制指令碼程式只能和同協議,同域名,同埠的指令碼進行互動,包括共享和傳遞變數,cookie的傳遞。儘管瀏覽器不允許頁面指令碼跨域讀取資料,但是允許html引用跨域的資源,比如指令碼程式,css,圖片,等等,因為script,iframe的src是不存在跨域的。
$.get("", {}, function(data){ alert(' error:'+data) }, "html");
比如上面的請求,因為是跨域讀取資料,所以,無法獲取想要的資料jsonp是非官方協議,它是在服務端生成script tags返回到客戶端,在客戶端透過javscript callback形式實現跨域訪問。
jsonp原理是客戶端定義一個callback,然後把callback名字傳送至服務端,服務端生成json資料,然後以javascript的方式,生成一個以callback名字的function的javascript函式執行形式,將json資料以入參方式放到function中,就 生成了一個js的函式執行語法的文件,傳到客戶端。客戶端瀏覽器解析script,執行服務端返回的javascript片段,返 回的資料作為引數,傳入到客戶端定義的callback中動態執行。
例項
<script type="text/javascript"> function sayHello(result){ alert(result()); } </script> <script type="text/javascript"class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original=""></script>
<% String script="function show(){ return 'hello';}"; //String script="{name:'yuyong'}"; String callback=request.getParameter("callback"); out.println(callback+"("+script+")"); >
透過jsonp,完美的實現了跨域。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2471/viewspace-2815538/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 簡單的實現jsonp跨域請求JSON跨域
- jsonp跨域封裝JSON跨域封裝
- JavaScript跨域呼叫、JSONPJavaScript跨域JSON
- 深入跨域問題(3) – 利用 JSONP 解決跨域跨域JSON
- 深入跨域問題(3) - 利用 JSONP 解決跨域跨域JSON
- jsonp跨域資源引起CORBJSON跨域ORB
- JSONP 跨域原理及實現JSON跨域
- php 支援jsonp跨域請求PHPJSON跨域
- 超級簡單入門vuex 小例項Vue
- 解決輕量級伺服器 HttpProcessor TcpClient 跨域問題伺服器HTTPTCPclient跨域
- jsonpGet,跨域如此簡單JSON跨域
- SqueezeNet/SqueezeNext簡述 | 輕量級網路
- Thinkphp 3.2 簡單輕資訊網站-—HaotizenPHP網站
- 輕鬆保障萬級例項,vivo服務端監控體系建設實踐服務端
- PetaPoco .net 輕量級orm簡單實用教程ORM
- jquery 之 jsonp 與 laravel 實現跨域jQueryJSONLaravel跨域
- 網站建設應追求網站本身的質量網站
- Facebook在NAS領域的輕量級網路探索
- C++學習隨筆——簡單的單例設計模式例項C++單例設計模式
- 【跨域】jsonp看完這篇文章就夠了跨域JSON
- 如何簡單方便的建個人網站網站
- opengl簡單入門例項
- Spark 簡單例項(基本操作)Spark單例
- JAVA輕量級鎖簡介Java
- 利用angular4和nodejs-express構建一個簡單的網站(二)——設定跨域訪問和安裝基本依賴構建資料庫AngularNodeJSExpress網站跨域資料庫
- 簡單弄懂同源政策 (Same Origin Policy) 與跨網域 (CORS)CORS
- egg 設定跨域白名單跨域
- 單顆GPU計算能力太多、太貴?阿里雲釋出雲上首個輕量級GPU例項GPU阿里
- C# 輕量級 ORM 框架 NPoco 的簡單應用C#ORM框架
- Vue使用Ref跨層級獲取元件例項Vue元件
- 營銷型網站建設的注意事項網站
- 搞定所有的跨域請求問題: jsonp & CORS跨域JSONCORS
- spring-boot + jsonp 解決前端跨域問題SpringbootJSON前端跨域
- 關於跨域和JSONP的一些理解跨域JSON
- 輕量級超級簡單的element的layout柵格化佈局
- 簡述網站建設技術難點網站
- EventBus詳解及簡單例項單例
- ShuffleNetV1/V2簡述 | 輕量級網路