● 页面代码
$.ajax({ url : "http://localhost:8089/user/token/" + _ticket, dataType : "jsonp", type : "GET", success : function(data){ if(data.status == 200){ var username = data.data.username; var html = username + ",欢迎来到购物网!<a href=\"http://www.e3mall.cn/user/logout.html\" class=\"link-logout\">[退出]</a>"; $("#loginbar").html(html); } } });
● 服务端代码(方式一)
@RequestMapping(value = "/user/token/{token}", produces = "application/json;charset=utf-8") @ResponseBody public String getUserByToken(@PathVariable String token, String callback) { E3Result result = userService.getUserByToken(token); //响应结果之前,判断是否为jsonp请求 if (StringUtils.isNotBlank(callback)) { //把结果封装成一个js语句响应 return callback + "(" + JsonUtils.objectToJson(result) + ");"; } return JsonUtils.objectToJson(result); }
● 服务端代码(方式二)
@RequestMapping(value="/user/token/{token}") @ResponseBody public Object getUserByToken(@PathVariable String token, String callback) { E3Result result = tokenService.getUserByToken(token); //响应结果之前,判断是否为jsonp请求 if (StringUtils.isNotBlank(callback)) { //把结果封装成一个js语句响应 MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(result); mappingJacksonValue.setJsonpFunction(callback); return mappingJacksonValue; } return result; }