我正在做SPA应用,为POCO http服务器发送请求,我通过用户名="user1 "这样的头信息来发送凭证,但这个自定义头信息并不是请求的一部分,头信息的标题只是加在 "Access-Control-Allow-Headers "头信息中。"用户名,......"。如何用POCO HTTP服务器处理这种情况?
我添加了请求和响应头,但它不工作 request.add("Access-Control-Allow-Origin", "*"); request.add("Access-Control-Allow-Headers", "origin, x-requested-with, content-type, x-custom-header-here")。
我已经解决了这个问题. 事实上,仅仅response.set("Access-Control-Allow-Origin", "*");是行不通的,你需要处理HTTP_OPTIONS请求,并在那里做。所以只要在你的请求中添加以下代码
if (request.getMethod() == Poco::Net::HTTPRequest::HTTP_OPTIONS)
{
response.setContentType("application/json");
response.setKeepAlive(true);
response.add("Access-Control-Allow-Headers", "argument1, argument");
response.add("Access-Control-Allow-Method","POST");
response.send();
return;
}