【原创】OPTIONS请求之跨域请求被阻止(原因:CORS预检通道未成功)解决方案 超神!牛逼!
问题详情
代码参考
if(request.getMethod().equals(RequestMethod.OPTIONS.name()))
{
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Access-Control-Allow-Headers","*");
response.setHeader("Access-Control-Allow-Methods","*");
response.setHeader("Access-Control-Allow-Credentials","true");
response.setHeader("Access-Control-Max-Age","3600");
response.setStatus(HttpStatus.OK.value());
return true;
}
问题解决
- 之前尝试在拦截器方法内添加此代码块 无效
if(request.getMethod().equals(RequestMethod.OPTIONS.name()))
{
return true;
}
- 然后发现需要在此代码块内添加跨域Head信息 成功
if(request.getMethod().equals(RequestMethod.OPTIONS.name()))
{
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Access-Control-Allow-Headers","*");
response.setHeader("Access-Control-Allow-Methods","*");
response.setHeader("Access-Control-Allow-Credentials","true");
response.setHeader("Access-Control-Max-Age","3600");
response.setStatus(HttpStatus.OK.value());
return true;
}
报错信息