Spring 4.1+ 的 JSONP使用


如今的巨石應用已經越來越不行了,很多互聯網在后期都會在用分布式的架構

那么在頁面上不同的服務調用不同域名下的json是有問題的

(跨域:不同域名,相同域名但是不同端口)

JavaScript規范中提到的json是不能直接跨域調用,為了安全,但是能調用js片段

所以把json包裝為一個js片段,也就是jsonp那么就能夠跨域請求

在spring4.1后,提供了新的方法可以作為jsonp的調用

例:

 1 @RequestMapping(value="/list")
 2     @ResponseBody
 3     public Object getItemCatList(String callback) {
 4         ItemCatResult result = itemCatService.getItemCatList();
 5         if (StringUtils.isBlank(callback)) {
 6             //需要把result轉換成字符串
 7             return result;
 8         }
 9         //如果字符串不為空,需要支持jsonp調用 spring4.1 以上可用
10         MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(result);
11         mappingJacksonValue.setJsonpFunction(callback);
12         return mappingJacksonValue;
13     }

如圖,這就是jsonp

 

那么只要在js需要調用jsonp的地方稍加處理就能夠跨域調用數據了~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM