zoukankan      html  css  js  c++  java
  • 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的地方稍加处理就能够跨域调用数据了~

  • 相关阅读:
    ASP.NET性能优化篇(转载)
    Apache相关
    UVa11292 The Dragon of Loowater
    POJ2653 Pickup sticks
    POJ2155 Matrix
    POJ3009 Curling 2.0
    POJ1066 Treasure Hunt
    UVa11729 Commando War
    Ubuntu下解决压缩文件的文件名乱码问题
    HDU3415 Max Sum of MaxKsubsequence
  • 原文地址:https://www.cnblogs.com/leechenxiang/p/5430546.html
Copyright © 2011-2022 走看看