ajax+springmvc实现跨域请求
2017-08-11 10:38
423 查看
ajax跨域请求(spring框架4.2版本后)
1. 错误信息
jquery-3.1.1.min.js:4 XMLHttpRequest cannot load http://127.0.0.1:8080/user/login.action. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
2. 解决办法
1. 方法一:@CrossOrigin注解即在Controller控制器中,在Controller注解上方添加@CrossOrigin注解。
@CrossOrigin(origins = {"*"}, maxAge = 3600) public class UserController {}
官网:www.fhadmin.org也可以在Controller控制器中的每个方法中分别添加@CrossOrigin注解。
@CrossOrigin(origins = {"*"}, maxAge = 3600) public String login(String username, String password) throws Exception {}
假如添加之后还是出现了跨域问题,需要给映射路径中配置请求方法(method)
@RequestMapping(value = "user", method = {RequestMethod.POST})
@CrossOrigin(origins = {"*"}, maxAge = 3600) public class UserController {}
2. 方法二:CORS全局配置
基于xml的配置,在springmvc.xml中配置
<!-- 跨域请求 --> <mvc:cors> <mvc:mapping path="/user/*"/> </mvc:cors>
官网:www.fhadmin.org 可以进行详细的配置
<mvc:cors> <mvc:mapping path="/api/**" allowed-origins="http://domain1.com, http://domain2.com" allowed-methods="GET, PUT" allowed-headers="header1, header2, header3" exposed-headers="header1, header2" allow-credentials="false" max-age="123" /> <mvc:mapping path="/resources/**" allowed-origins="http://domain1.com" /> </mvc:cors>
假如出现"通配符的匹配很全面, 但无法找到元素 'mvc:cors' 的声明。"这样的错误。
解决办法: 查看文件上边beans中xsd文件引入的版本是不是不对。 如下所示: http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 引入的xsd版本为3.0,而mvc:cors是4.2版本的功能。 因此,只需要将xsd版本更新就行。 http://www.springframework.org/schema/mvc/spring-mvc.xsd 或者设置成4.2以上的。
相关文章推荐
- jQuery中Ajax+Spring MVC实现跨域请求
- Ajax+Spring MVC实现跨域请求(JSONP)
- Ajax+Spring MVC实现跨域请求(JSONP)
- Ajax+Spring MVC实现跨域请求(JSONP)
- Ajax+Spring MVC实现跨域请求(JSONP)JSONP 跨域
- Ajax+Spring MVC实现跨域请求(JSONP)
- Ajax+Spring MVC实现跨域请求(JSONP)
- Ajax+Spring MVC实现跨域请求(JSONP)
- ASP.NET MVC 实现AJAX跨域请求方法《1》
- 利用Jsonp实现跨域请求,spring MVC+JQuery
- ASP.NET MVC 实现 AJAX 跨域请求
- Ajax SpringMvc 实现登录请求
- ASP.NET MVC 实现 AJAX 跨域请求
- ASP.NET MVC 实现AJAX跨域请求的两种方法
- ASP.NET MVC 实现 AJAX 跨域请求
- ajax+springMVC实现跨域
- spring mvc+Ajax跨域请求-CORS方式
- springmvc+jquery 实现ajax页面无刷新请求
- ASP.NET MVC 实现 AJAX 跨域请求
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回