所以我环顾四周,发现这个问题的解决方案很少,我需要在代理路由的末尾添加“/”或 --ignore 后端 package.json 中的客户端文件夹等......
没有任何帮助。
在反应中发布请求
const onSubmit = async(e) => {
e.preventDefault();
if(password !== password2){
console.log("Password doesn't match");
} else {
const newUser ={
name,
email,
password
}
try {
const config ={
headers:{
'Content-type':'application/json'
}
}
const body = JSON.stringify(newUser);
const res = await axios.post('/api/users',body,config);
console.log(res.data);
} catch (error) {
console.error(error.response.data)
}
}
}
客户端 package.json 中的代理
"proxy":"https://localhost:5000"
服务器 package.json 中的脚本
"scripts": {
"start": "node server",
"server": "nodemon server --ignore client",
"client": "npm start --prefix client",
"dev": "concurrently \"npm run server\" \"npm run client\""
最后你奇怪的部分是在我注意到我在 chrome 网络选项卡中查看我的请求时
Request URL: http://localhost:3000/api/users
而我的后端 url 应该使用端口 5000。