基于OpenLayers的WebGIS程序二次开发实例教程
34523 人在学
学习是个漫长的历程,收获在途中,下面就与课课家小编一起学习Jsonp跨域的请求处理吧,java web支持jsonp跨域
jsonp跨域请求处理
Jsonp(JSON with Padding) 是 json的一种"使用模式",可以让网页从别的域名(网站)那获取资料,绕过同源策略(若地址里面的协议、域名和端口号均相同则属于同源),即跨域读取数据。
jsonp:利用script标签可以跨域,让服务器端返回可执行的Javascript函数,参数为要回发的数据。可看做带有回调函数的ajax请求。
java后端处理代码
@ResponseBody
@RequestMapping(value = "/url", produces= MediaType.APPLICATION_JSON)
public String test(
HttpServletRequest request,
HttpServletResponse response) throws Exception{
String result = getResult();
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "private,no-cache,no-store,max-age=0");
response.setDateHeader("Expires", 0);
String str=request.getParameter("jsonpCallback");
if (str==null||str.equals("")) {
return result;
} else {
return str + "(" + result + ")";
}
}
CORS(协议跨域资源共享”)(Cross-origin resource sharing)
它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制 详细介绍 戳此
Access-Control-Allow-Origin:* 允许所有域名的脚本访问该资源
Access-Control-Allow-Methods:GET,POST,PUT,DELETE,OPTIONS 运行什么方式访问资源
Access-Control-Expose-Headers:x-requested-with 暴露的信息
更多专业内容请点击课课家提供的相关链接!