我正在使用React前端和Node.js后端开发Web应用程序。前端使用Axios将POST请求发送到后端,如下所示:
Register.js
...
handleSubmit = (e) => {
e.preventDefault();
const { email, password, name, dateofbirth } = this.state;
const user = { email, password, name, dateofbirth };
const url = "http://localhost:9000/register";
axios
.post(url, user, {
headers: {
"Content-Type": "application/json",
},
})
.then((response) => console.log(response))
.catch((error) => {
console.error("You have made a big error. " + error);
console.log(user);
});
};
...
后端收到这样的请求时:
./routes/register.js
...
router.post("/register", async (req, res) => {
console.log("Inside Home Login");
res.writeHead(200, {
"Content-Type": "application/json",
});
console.log("Users : ", JSON.stringify(users));
res.end(JSON.stringify(users));
})
...
但是,尝试发送任何内容时出现错误“ POST http:// localhost:9000 / register 404(未找到)”。
答案 0 :(得分:0)
我的猜测是您要在index.js中进行路由。如果您可以提供代码示例来解决这个问题。
如果是这样,那么事情就是在定义路由,例如
app.use('/register', yourImportedVariable);
在http:// localhost:9000 / register上定义了一条路由。
因此,如果在您的 routes / register.js 文件中使用'/ register'定义GET端点,则您的前端调用必须为 http:// localhost:9000 / register /注册
要解决此问题,请将您的路由重命名为“ /”,或使用上述网址修复您的前端呼叫。