可以将资源移动到相同的域名上或者启用 CORS 来解决这个问题(跨域问题)、options请求报错

         风骚的代码,超强的思路。今天在做两个服务器间的请求时,莫名其妙的多了一个iotions请求方式的东东,当时是云里雾里啊,最后经过一番查证才知道原来是没有权限引起的。

        对请求方式观察半天,恍然大悟  不就是缺个请求方式吗,于是果断在后台写了一个options方式同请求路径的action

         有代码为证:

                                  

@RequestMapping(value = {"/test"}, method = RequestMethod.OPTIONS)
	public void testOption(
			HttpServletResponse resp) throws Exception {
		resp.addHeader("Access-Control-Allow-Origin", "*");
		resp.addHeader("Access-Control-Allow-Headers", "access-control-allow-origins, content-type");
		resp.addHeader("Access-Control-Allow-Methods", "OPTIONS, HEAD, POST");
		
	}

    如果以上不行,自己去分析http响应信息,然后把权限相关的设置进去就ok了

 

方法写了,去运行又发现不能以options方式请求了  

  Spring DispatcherServlet支持,头,POST、PUT补丁和删除

     加入options请求方式解决方法:

        在web-xml中加入如下配置信息

<init-param>
<param-name>dispatchOptionsRequest</param-name>
<param-value>true</param-value>
</init-param>


end;

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java和JavaScript中使用CORS跨域资源共享)解决跨域问题的步骤如下: 1. 在Java后端设置CORS支持:在处理跨域请求的Java代码中,需要设置响应头以启用CORS。可以通过在响应对象中设置以下响应头字段来实现: ```java response.setHeader("Access-Control-Allow-Origin", "http://example.com"); // 允许特定的源访问 response.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); // 允许的HTTP方法 response.setHeader("Access-Control-Allow-Headers", "Content-Type"); // 允许的请求头 response.setHeader("Access-Control-Allow-Credentials", "true"); // 是否允许发送Cookie response.setHeader("Access-Control-Max-Age", "3600"); // 预检请求的有效期 ``` 2. 在JavaScript前端发起跨域请求:在发送跨域请求的JavaScript代码中,需要设置请求头以指示该请求是一个跨域请求。可以使用XMLHttpRequest或fetch API来发送请求,并在请求头中添加以下字段: ```javascript fetch('http://api.example.com/data', { method: 'GET', headers: { 'Content-Type': 'application/json', 'Origin': 'http://example.com' // 请求源 }, credentials: 'include' // 发送Cookie }) .then(response => { // 处理响应 }) .catch(error => { // 处理错误 }); ``` 通过以上步骤,Java后端设置了CORS支持,允许特定源访问资源,并在JavaScript前端发送跨域请求时设置了请求头,指示该请求是一个跨域请求。这样就可以解决跨域问题。请注意,实际应用中需根据自己的需求和安全考虑进行适当的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值