跨域解決方案Jsonp原理解析
這篇文章主要介紹了跨域解決方案Jsonp原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
1.什么是Jsonp?
Jsonp(JSON with Padding) 是 json 的一種"使用模式",可以讓網(wǎng)頁從別的域名(網(wǎng)站)那獲取資料,即跨域讀取數(shù)據(jù)。
為什么我們從不同的域(網(wǎng)站)訪問數(shù)據(jù)需要一個(gè)特殊的技術(shù)( JSONP )呢?這是因?yàn)橥床呗浴?/p>
同源策略,它是由 Netscape 提出的一個(gè)著名的安全策略,現(xiàn)在所有支持 JavaScript 的瀏覽器都會使用這個(gè)策略。
2.使用Jsonp優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
1.可以跨域請求數(shù)據(jù),擺脫同源策略的限制。
2.對瀏覽器比較友好,尤其低版本瀏覽器。
缺點(diǎn):
1.只支持GET請求。
2.無法對請求錯誤進(jìn)行獲取和處理。
3.安全性較差。無法防止頁面的注入漏洞。
3.Jsonp具體實(shí)現(xiàn)
前端
$.ajax({ url: 請求的url, type: "get", dataType: "jsonp", jsonp: "callBack", success: function(data) { //返回結(jié)果處理程序 } });
后端
@RequestMapping(value = "getAllData",method = RequestMethod.GET) @ResponseBody public String getAllData(@RequestParam("callBack") String callBack){ return callBack+"("+JSON.toJSONString(this.infoService.getAllData())+")"; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis的<foreach>以及java代碼的批處理方式
這篇文章主要介紹了MyBatis的<foreach>以及java代碼的批處理方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08Apache Shrio安全框架實(shí)現(xiàn)原理及實(shí)例詳解
這篇文章主要介紹了Apache Shrio安全框架實(shí)現(xiàn)原理及實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04如何使用JCTools實(shí)現(xiàn)Java并發(fā)程序
這篇文章主要介紹了如何使用JCTools實(shí)現(xiàn)Java并發(fā)程序,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-03-03