java服务器端怎么设置ajax 的跨域请求头

java服务器端怎么设置ajax 的跨域请求头,第1张

在服务端设置response.setHeader("Access-Control-Allow-Origin", "*")即可。

Access-Control-Allow-Origin:* 表示允许任何域名跨域访问

如果需要指定某域名才允许跨域访问,只需把Access-Control-Allow-Origin:*改为Access-Control-Allow-Origin:允许的域名

例如:response.setHeader("Access-Control-Allow-Origin", "http://www.client.com")

跨域问题一般都在后台程序解决,将自己的程序通过配置文件或者代码将其允许跨域,

在有跨域安全的时候,所有前端post请求时,会发送一个与其请求名字一样的OPTIONS

此请求没有任何参数,此机制为post不知道是否有权限请求接口,发送了一个探知请求,探知

请求确认后,允许访问后调用正常Post接口。 不允许就会出现你现在的问题跨域异常。

萌新,java是开源的,比NET好多了,多看看底层

原文连接: 原文地址

跨域的详细介绍可以参考: 浏览器和服务器实现跨域(CORS)判定的原理 ,这里不多赘述。

1、主要就是客户端向发送了服务端请求,服务器已经能返回数据,但是浏览器不接收

2、在接口里面加上:( 因为request是处理请求,response是返回结果 )

response.setHeader("Access-Control-Allow-Origin", "*")

response.setHeader("Cache-Control","no-cache") 

3、如果是使用Spring Boot创建的项目,直接添加 一句注解 到controller和方法就可以了:

@CrossOrigin

其中@CrossOrigin中的2个参数:

origins  : 允许可访问的域列表

maxAge :准备响应前的缓存持续的最大时间(以秒为单位)。

在这个例子中,对于retrieve()和remove()处理方法都启用了跨域支持,还可以看到如何使用@CrossOrigin属性定制CORS配置。如果同时使用controller和方法级别的CORS配置,Spring将合并两个注释属性以创建合并的CORS配置。

4、如果您正在使用Spring Security,请确保在Spring安全级别启用CORS,并允许它利用Spring MVC级别定义的配置。

二、全局CORS配置

除了细粒度、基于注释的配置之外,您还可能需要定义一些全局CORS配置。这类似于使用筛选器,但可以声明为Spring MVC并结合细粒度@CrossOrigin配置。默认情况下,所有origins and GET, HEAD and POST methods是允许的。

JavaConfig

使整个应用程序的CORS简化为:

更多使用请看原文连接和官方文档


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11917215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存