reactjs React axios注销不起作用,但请求处于休眠状态,客户端工作

bq3bfh9z  于 2023-03-17  发布在  React
关注(0)|答案(1)|浏览(112)

你好,我在React有问题。我尝试建立laravel和React应用程序。如果我尝试通过axios发送令牌,我有错误401(未经授权),但如果我尝试使用vscode扩展名休息注销。客户端它的工作。令牌必须正确。我不知道为什么我有这个问题。
Logout.jsx

import axios from "axios";
import { useEffect } from "react";
import { useNavigate } from "react-router";

const Logout = () => {
const navigate = useNavigate();
    
if(localStorage.getItem("token") == null) navigate("/login");

const logout = () => {
    axios.post("http://localhost:8000/api/auth/logout", {
        headers: {
            Accept: 'application/json',
            'Content-Type': 'application/json',
            Authorization: "Bearer " + localStorage.getItem("token")
        }
    }).then((res) => {
        localStorage.clear();
        navigate("/login");
    }).catch((err) => {
        console.log(err);
    })
}

return ( <div>
    <button onClick={logout}>LOGOUT</button>
</div> );
}

export default Logout;

如果我登录用户,则将令牌保存到本地存储。

所以如果我把这个标记放到rest.client中,它就会工作

如果我尝试在react中使用axios注销,则会出现401错误

请帮帮我

polkgigr

polkgigr1#

你能试着在axios.post方法的第三个参数中添加headers吗?

axios.post("http://localhost:8000/api/auth/logout", 
  {}, // here is supposed to be `data`
  {
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
      Authorization: "Bearer " + localStorage.getItem("token")
    }
  })

相关问题