輕量級網站建設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跨域
- PHP AJAX JSONP實現跨域請求使用例項PHPJSON跨域
- ajax jsonp跨域JSON跨域
- ajax實現跨域請求程式碼例項簡單介紹跨域
- jsonp跨域封裝JSON跨域封裝
- JavaScript跨域呼叫、JSONPJavaScript跨域JSON
- javascript作用域簡單例項程式碼JavaScript單例
- 解決輕量級伺服器 HttpProcessor TcpClient 跨域問題伺服器HTTPTCPclient跨域
- 深入跨域問題(3) – 利用 JSONP 解決跨域跨域JSON
- 深入跨域問題(3) - 利用 JSONP 解決跨域跨域JSON
- js便籤筆記(13)——jsonp其實很簡單【ajax跨域請求】筆記JSON跨域
- Thinkphp 3.2 簡單輕資訊網站-—HaotizenPHP網站
- jsonp跨域資源引起CORBJSON跨域ORB
- php 支援jsonp跨域請求PHPJSON跨域
- JSONP 跨域原理及實現JSON跨域
- Facebook在NAS領域的輕量級網路探索
- corba程式設計簡單例項ORB程式設計單例
- 家庭區域網組建經典例項分享
- 超級簡單入門vuex 小例項Vue
- 網站建設應追求網站本身的質量網站
- JS獲取跨域的cookie例項JS跨域Cookie
- jsonpGet,跨域如此簡單JSON跨域
- PetaPoco .net 輕量級orm簡單實用教程ORM
- bbossmvc結合jsonp實現跨站跨域應用間通訊功能介紹SSMMVCJSON跨域
- JSONP原理及實現跨域方式JSON跨域
- JAVA輕量級鎖簡介Java
- 如何簡單方便的建個人網站網站
- websocket簡單例項Web單例
- 輕鬆保障萬級例項,vivo服務端監控體系建設實踐服務端
- SqueezeNet/SqueezeNext簡述 | 輕量級網路
- jquery 之 jsonp 與 laravel 實現跨域jQueryJSONLaravel跨域
- JSONP解決跨域請求問題JSON跨域
- 輕量級超級簡單的element的layout柵格化佈局
- MySQL 5.5升級5.6 單例項簡易實戰MySql單例
- CAS跨域SSO例項安裝和配置指南跨域
- C# 輕量級 ORM 框架 NPoco 的簡單應用C#ORM框架
- 網站綜合例項(轉)網站
- 網站綜合例項 (轉)網站