ajax跨域解决方案以及spring mvc中的支持

本文介绍了三种解决 AJAX 跨域问题的方法:1) 使用代理;2) JSONP;3) 设置 Access-Control-Allow-Origin 响应头。重点讨论了 Spring MVC 自4.2版本开始提供的跨域支持,通过在配置文件中添加特定代码实现。当需要在跨域请求中携带 cookies 时,需要启用 allow-credentials 并设置 allowed-origins,同时客户端的 XMLHttpRequest 需设置 withCredentials 为 true。
摘要由CSDN通过智能技术生成

ajax跨域问题主要有有三种解决方法

1、使用代理将需要跨域的地址挂载到本域下面

2、使用jsonp

3、使用Access-Control-Allow-Origin响应头


第一种方案需要引入代理服务器,生产环境中一般都会用nginx或者apache http做负载均衡,可以很容易实现,自己的开发环境一般都没有这东西,需要引入,增加了复杂性

第二种方案需要修改返回的数据,跨域请求的响应需要封装成callback('{a:''b"}')的格式

第三种是W3C为解决跨域问题引入的新特性(好像是HTML5引入的),目前大部分教新的浏览器都支持,只需要在响应头中加入Access-Control-Allow-Origin就可实现跨域


springmvc4.2开始提供开箱即用的跨域支持,只需要在mvc的配置文件中加入以下代码,详细的配置参考官方文档

<mvc:annotation-driven/>

<mvc:cors>
<mvc:mapping path=&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值