在测试ajax跨域请求,但是数据一开始是获取不到的,原因是:访问的接口是别人写的接口,返回的数据是不支持跨域请求所需要解析的数据的,在跨域请求接口的时候,接口中返回的数据需要是对象类型的。
$(document).ready(function () {
$("#app").on("click", function () {
$.ajax({
type: "GET",
url: "http://127.0.0.1:5000/userInfo/userList",
dataType: "jsonp",
jsonpCallback: "showData",
success: function (data) {
// var result = JSON.parse(data);
// $("#text").val(result);
},
error: function (a1, a2, a3) { //请求失败后返回
console.log(a1 + "...." + a2 + "...." + a3);
}
});
});
});
在后端的接口
@RequestMapping("/userList")
// @RequiresPermissions("userInfo:view")//权限管理;
public String userInfo(HttpServletRequest request, HttpServletResponse response) throws IOException {
UserInfo info = new UserInfo();
info.setName("李四");
info.setPassword("111111");
String callback = request.getParameter("callback");
//用回调函数名称包裹返回数据,这样,返回数据就作为回调函数的参数传回去了
String data = "[{'age':123,'name':'1111'}]";
String data1 = " { 'id': '123', 'courseID' : 'huangt-test', 'title' : '提交作业', 'content' : null }";
String quote = JSONParser.quote(data1);
String result = callback + "(" + quote + ")";
// response.getWriter().write(result);
return result;
}