Logo
技术 转载 C#

Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight respon

photo
Pastore Antonio

2024年03月29日

一、问题:

跨域请求中包含自定义header字段时,浏览器console报错。

Request header field xfilesize is not allowed by Access-Control-Allow-Headers

1 想要实现前后分离,首先得跨域
2 怎么跨域,在后端中 servlet 或 filter 设置请求头,然后就出问题了
3 has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response
已被CORS策略阻止:响应请求头,不允许请求标头字段内容类型
4 问题就出在这,思考了很久,代码好像没错啊

response.setHeader("Access-Control-Allow-Origin");
response.setHeader("Access-Control-Allow-Credentials", "true");

5 百度了之后,原因:

包含自定义header字段的跨域请求,浏览器会先向服务器发送OPTIONS请求,探测该服务器是否允许自定义的跨域字段。
如果允许,则继续实际的POST/GET正常请求,否则,返回标题所示错误

6 说白了就是,要有自定义请求头和响应头完成跨域交互,浏览器要求的(浏览器版本新)

7 java 自定义请响应头,给浏览器一个响应,带这个请求头的放行

  // /* 允许跨域的请求头 */                                        // 这里 指定 自己起一个   
  response.setHeader("Access-Control-Allow-Headers", "Content-Type,Access-Control-Ajax-Headers");
  response.setHeader("Access-Control-Ajax-Headers", "cros");// 自定义的

8 前端请求头,和后端对应

{'Access-Control-Ajax-Headers': 'cors'}
本文为原创文章,请注意保留出处!
PHP生成随机码 2024年03月29日

生成随机码 function getRandChar($length){ $str = null; ... PHP生成随机码

修复群晖Synology Drive client右键菜单缺失问题 Local, clean & environmental 作者:Pastore Antonio
1807 浏览量
1780 浏览量
configure: error: Package requirements (oniguruma) were not met Local, clean & environmental 作者:Pastore Antonio
1525 浏览量
Adobe Acrobat Pro 激活 Local, clean & environmental 作者:Pastore Antonio
1520 浏览量
追寻日出,找回自己 Local, clean & environmental 作者:Pastore Antonio
1489 浏览量