博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax+springmvc实现跨域请求
阅读量:6887 次
发布时间:2019-06-27

本文共 1173 字,大约阅读时间需要 3 分钟。

hot3.png

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 {}
  • 也可以在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' 的声明。"这样的错误。
解决办法:	查看文件上边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以上的。

转载于:https://my.oschina.net/shadowolf/blog/1505971

你可能感兴趣的文章
给我的个人简历添加动态效果
查看>>
flutter Swiper+GridView
查看>>
macOs 安装过homebrew,但是再次执行 brew install 安装时候一直卡在 homebrew updating.......
查看>>
JavaScript开发中常用优秀插件,慢慢积累,会一直保持更新
查看>>
函数式编程尝试之俄罗斯方块
查看>>
「移动开发」iuap mobile玩转前端自动化构建
查看>>
05.web缓存
查看>>
LeetCode 53 Maximum Subarray 最大子数组
查看>>
函数 - Go 语言学习笔记
查看>>
Spring Security小教程 Vol 1. 最简单的应用
查看>>
C++ map的insert方法
查看>>
in和exists的区别与SQL执行效率分析
查看>>
MySQL数据库性能优化之硬件瓶颈分析
查看>>
GMP法规附录《计算机化系统》那些事儿
查看>>
阿里云服务器拓展数据盘
查看>>
NginX and Riak
查看>>
利用wsgen工具产生WSDL文档
查看>>
在Windows 2008 server 64位平台上可以使用旧版Acctinfo.dll以显示账户属性-Additional Account Info...
查看>>
线程中断的控制
查看>>
我的友情链接
查看>>