由于浏览器会对非同源的响应内容拦截,所以普通的Jquery.ajax无法正常返回数据,我们使用jsonp格式的Jquery.ajax能够解决这个问题
前端代码
$.ajax({
type: "get",
url: "http://localhost/test",
dataType: "jsonp",
success: function(data) {
var result = JSON.stringify(data); //json对象转成字符串
console.log(result);
}
});
前端唯一的不同就是json->jsonp
服务端代码
@RestController
public class JsonpController {
@RequestMapping("test")
public String test(String callback) {
String result = callback + "(%s)";
result = String.format(result, "{'result':'success'}");
return result;
}
}
服务端使用spring MVC的Controller,只需要获取到请求参数中的callback参数,把结果封装成callback(返回json)格式返回就ok了。