Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表示无效的CSRF令牌错误,I';我试过其他问题的建议,但没有用_Javascript_Node.js_Express_Axios - Fatal编程技术网

Javascript 表示无效的CSRF令牌错误,I';我试过其他问题的建议,但没有用

Javascript 表示无效的CSRF令牌错误,I';我试过其他问题的建议,但没有用,javascript,node.js,express,axios,Javascript,Node.js,Express,Axios,我在尝试发布到express后端时遇到无效CSRF令牌错误问题。我试着在这里和谷歌上寻找答案,但它们似乎都不起作用。这是我的代码,为了简单起见缩小了: constCookieParser=require(“cookie解析器”); 常数csurf=要求(“csurf”); 使用(cookieParser()); 使用(csurf({cookie:true})); app.get(“/”,异步(req,res)=>{ const user=wait getUserInfo(令牌); res.jso

我在尝试发布到express后端时遇到无效CSRF令牌错误问题。我试着在这里和谷歌上寻找答案,但它们似乎都不起作用。这是我的代码,为了简单起见缩小了:

constCookieParser=require(“cookie解析器”);
常数csurf=要求(“csurf”);
使用(cookieParser());
使用(csurf({cookie:true}));
app.get(“/”,异步(req,res)=>{
const user=wait getUserInfo(令牌);
res.json(用户);
});
app.post(
“/events/:id”,
express.json(),
异步(请求、恢复)=>{
常量数据=等待添加事件(req.params.id,req.body);
res.json(数据);
}
);
我使用axios对POST方法执行AJAX请求,下面是我的axios对象:

consthttp=axios.create({
事实上,
baseURL:BASE_URL,
xsrfCookieName:“_csrf”,
});
我可以在Chrome DevTools上的“网络”选项卡中看到,浏览器上保存了一个
\u csrf
cookie,并且发送了一个
X-XSRF-TOKEN
标头,其中请求的值与cookie的值相同。但是,它仍然给我一个403错误

以下是我用
csurf

app.use(csurf({cookie:true}));
使用(csurf({cookie:true,value:(req)=>req.headers[“x-xsrf-token”]});
应用程序使用(csurf({cookie:true,value:(req)=>req.cookies[“x-xsrf-token”]});

我还尝试将
res.cookies(“\u csrf”,req.csrfToken())
添加到
app.get(“/”
)中,并添加了一个包含
res.locals.\u csrf=req.csrfToken()
的中间件,但都不起作用。有人知道为什么会发生这种情况吗?

你试过吗?我正在从axios代理到后端,所以我没有实现cors,我认为这不适用于我。