AJAX跨域“Access-Control-Allow-Origin” JAVA WEB个人解决方法
2017-12-21 10:37
721 查看
ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,存在各种问题,大家可以自行百度。
我们项目使用Spring Web MVC,如果你们没有用Spring Web MVC也不用担心,因为方法是通用的。
解决方法:通过设置Access-Control-Allow-Origin来实现跨域访问,需要通过response设置。
Access-Control-Allow-Origin:* 表示允许任何域名跨域访问,如果需要指定域名,大家自行百度学习,我们的项目是手机客户端页面,用不上。
Spring Web MVC下面完整例子
@Controller
@RequestMapping("/LuozhuangMobileControl.do")
public class LuozhuangMobileControl{
/**
* 用户登录
*
* @param request
* @return
*/
@RequestMapping(params = "loginCheck")
@ResponseBody
public Object login(HttpServletRequest request, HttpServletResponse response) {
Object j;
//这里处理你的业务
response.setHeader("content-type", "application:json;charset=utf8");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");
return j;
}
}
上面是我们项目中使用的方法, 如有更佳方法,欢迎大家斧正。
我们项目使用Spring Web MVC,如果你们没有用Spring Web MVC也不用担心,因为方法是通用的。
解决方法:通过设置Access-Control-Allow-Origin来实现跨域访问,需要通过response设置。
Access-Control-Allow-Origin:* 表示允许任何域名跨域访问,如果需要指定域名,大家自行百度学习,我们的项目是手机客户端页面,用不上。
Spring Web MVC下面完整例子
@Controller
@RequestMapping("/LuozhuangMobileControl.do")
public class LuozhuangMobileControl{
/**
* 用户登录
*
* @param request
* @return
*/
@RequestMapping(params = "loginCheck")
@ResponseBody
public Object login(HttpServletRequest request, HttpServletResponse response) {
Object j;
//这里处理你的业务
response.setHeader("content-type", "application:json;charset=utf8");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");
return j;
}
}
上面是我们项目中使用的方法, 如有更佳方法,欢迎大家斧正。
相关文章推荐
- Ajax跨域问题的解决方法之一 —— "Access-Control-Allow-Origin"
- Access-Control-Allow-Origin与Ajax跨域解决方法
- xmlhttprequest cannot load No 'Access-Control-Allow-Origin' AJAX跨域请求解决方法
- ajax跨域jsonp并且post请求No 'Access-Control-Allow-Origin'以及执行error时readyState=4同时status=200的解决方法
- 解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin.
- 关于字体等静态文件跨域的解决方法 关键字 Access-Control-Allow-origin
- Java WEB程序 Ajax Access-Control-Allow-Origin 跨域 拦截器解决方案
- 谷歌浏览器报错:跨域问题处理( Access-Control-Allow-Origin)_ 用于本地测试的快捷解决方法
- Chrome报错:跨域问题处理( Access-Control-Allow-Origin)_ 用于本地测试的快捷解决方法
- 解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin
- 解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin.
- 解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin.
- JQuery 的 ajax 出现Origin null is not allowed by Access-Control-Allow-Origin 解决方法
- 解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin.
- thinkphp ajax 跨域请求 Access-Control-Allow-Origin 完美解决
- 解决 ajax跨域 No 'Access-Control-Allow-Origin' header is present on the requested resource.
- Nginx 跨域设置 Access-Control-Allow-Origin 无效的解决办法
- ajax 设置Access-Control-Allow-Origin实现跨域访问
- Flask: Ajax 设置Access-Control-Allow-Origin实现跨域访问;Ajax页面底部自动加载
- ajax请求node.js接口时出现跨域问题Access-Control-Allow-Origin