欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

ajax配合jsonp解决跨域访问问题

程序员文章站 2022-04-11 19:54:50
...
前端:
$.ajax({
type:"get",
async: false,//是否异步
url:"http://ip:端口/servlet地址",
dataType: "jsonp",
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
jsonpCallback: "callback",
data: { }, //传递的参数
success: function(e){
var r = $.parseJSON(e);//e:返回值
},
error: function(XMLHttpRequest, textStatus, errorThrown) {}
});
后台:用servlet做的样例
String callback = request.getParameter("callback");//回调函数
request.setCharacterEncoding("utf-8");//防止中文乱码
response.setCharacterEncoding("utf-8");//防止中文乱码
//response.setHeader("pragma", "no-cache");
//response.setHeader("cache-control", "no-cache");
//list要返回的结果
JSONArray jsonArray = JSONArray.fromObject(list);
response.getWriter().print(callback+"('"+jsonArray+"')");
response.getWriter().flush();