直接上代码,然后再解析
@RequestMapping("/token/{token}")
@ResponseBody
public Object getUserByToken(@PathVariable String token, String callback) {
System.out.println("callback:"+callback);
TaotaoResult result;
if (StringUtils.isBlank(token)) {
result = TaotaoResult.build(400, "token为空");
return result;
}
try {
result = userService.getUserByToken(token);
} catch (Exception e) {
e.printStackTrace();
result = TaotaoResult.build(500, e.getMessage());
}
// jsoup 处理
if (StringUtils.isBlank(callback)) {
// 非jsoup
return result;
}else {
System.out.println("应该进入这个方法才对呀,老铁");
MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(result);
mappingJacksonValue.setJsonpFunction(callback);
return mappingJacksonValue;
}
}
很奇怪哦,我这里用postman测试,在同一个域名下,即使是传递了callback进入,但是没得到跨域的请求结果(callback(XXX));然后我在别的机器对这个接口发起请求才得到!很奇怪,为什么会这样?