jsonp使用,spring4.x对jsonp的支持
Posted 一万年以前
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsonp使用,spring4.x对jsonp的支持相关的知识,希望对你有一定的参考价值。
1.Java中接口
@RequestMapping("/token/{token}") @ResponseBody public Object getUserByToken(@PathVariable String token, String callback) { Person per = null; try { per = userService.getPerson(token); } catch (Exception e) { e.printStackTrace(); per = ExceptionUtil.getStackTrace(e); } //判断是否为jsonp调用 if (StringUtils.isBlank(callback)) { return per; } else { MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(per); mappingJacksonValue.setJsonpFunction(callback); return mappingJacksonValue; } }
说明:MappingTacksonValue为spring4.x以后支持,依赖包为spring-web-4.x.x.RELEASE.jar
2.前台调用
$.ajax({ url : "http://localhost:8084/user/token/" + _ticket, dataType : "jsonp", type : "GET", data:{ callback : ‘test‘ }, success : function(data){ console.log(data); } }); function test(data){ <span style="white-space:pre"> </span>console.log(data); }
说明:如果传了callback参数,返回结果后调用前台相应的js方法,否则执行success中的逻辑。
以上是关于jsonp使用,spring4.x对jsonp的支持的主要内容,如果未能解决你的问题,请参考以下文章
ServiceStack - 对 JSONP 请求使用 gzip/deflate 压缩