学无先后,达者为师

网站首页 编程语言 正文

has been blocked by CORS policy: Response to preflight request doesn‘t pass access control 跨域解决

作者:Kevin4ch 更新时间: 2022-03-14 编程语言

 

情况一,普通请求

在响应头中添加指定头信息

 

http_response sp(status_codes::OK);
sp.headers().add("Access-Control-Allow-Origin","*");
sp.headers().add("Access-Control-Allow-Methods","*");
sp.headers().add("Access-Control-Allow-Headers","*");
sp.set_body(msg.serialize(),"application/json");
resp.reply(sp);

`

情况二,复杂请求

比如上传文件,浏览器会先发一个OPTIONS请求作为preflight。这时除了上面在正常处理的如POST响应里加指定头部。还需要单独处理OPTIONS的响应,并添加头部。

 

m_listener->support(methods::OPTIONS,std::bind(&MSHttpServer::handle_options, this, std::placeholders::_1));

`

原文链接:https://blog.csdn.net/u013183495/article/details/117461428

栏目分类
最近更新