我正在尝试使用 axios 将我的前端连接到我的后端以进行 API 调用。我的客户端在端口 3000 上运行,服务器在端口 8800 上运行。当我尝试获取视频时它工作正常,这意味着代理服务器设置正确。但是,在登录身份验证期间,代码会出现以下错误 -
代码如下—— 在这里,我尝试在我的客户端 package.json 中设置代理服务器。
{
"name": "client",
"version": "0.1.0",
"private": true,
"dependencies": {
"@emotion/react": "^11.10.6",
"@emotion/styled": "^11.10.6",
"@mui/icons-material": "^5.11.11",
"@mui/material": "^5.11.12",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"axios": "^1.3.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.8.2",
"react-scripts": "5.0.1",
"styled-components": "^5.3.8",
"timeago.js": "^4.0.2",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"proxy": "http://localhost:8800/api/"
}
这是单击登录按钮时触发的 signin.jsx handleLogin 函数
const handleLogin = async (e)=> {
e.preventDefault();
try{
const res = await axios.post("/auth/signin", {username, password});
console.log(res.data);
}catch(err){
console.log(err);
}
}
我一直在尝试发布到完全相同的路线 - 我也尝试过禁用和启用 cors。 我该如何解决这个问题并让端口 3000 连接到 8800 并正常登录?
你没有在 axios 标头中给出完整的 url...这可能是个问题