我正在尝试使用Axios将Vue.js前端连接到Node.js后端。我在网上学习了教程,并获得了以下代码片段:
在后端,我有以下Node.js代码片段要发布到localhost:5000/signup
:
app.post("/signup", (req, res) =>{ // receive form data from signup
console.log("Hello");
})
我正在侦听端口5000:
const PORT = process.env.PORT || 5000;
const server = app.listen(PORT, () => {
console.log("Server is running on port", server.address().port);
});
前端代码片段如下所示:
methods: {
submit() {
this.$v.$touch();
axios.post("/api/signup", {
fname: this.fname,
lname: this.lname,
email: this.email,
password: this.password,
gender: 'Male',
dob: this.dob,
}).then((res) => {
if(res.data.msg === "Email exists"){
console.log("Email exists")
}
else{
this.$router.push({ path: './browsing' });
}
})
// .catch(()=>{
// alert("Something Went Wrong");
// })
},
clear() {
this.$v.$reset()
this.name = ''
this.email = ''
this.select = null
this.checkbox = false
},
}
我期望控制台中的Axios responseURL将我发送到localhost:5000/signup并打印“Hello”,但我收到以下错误消息:
responseURL
:
"http://localhost:8081/api/signup"
它把我发送到localhost:8081,这是Vue的默认端口,并且不打印任何东西。这可能是什么原因?我如何使我的responseURL localhost:5000/signup?
1条答案
按热度按时间hyrbngr71#
你把端口设置为
process.env.PORT
或5000
,所以如果process.env.PORT
约束了一个非伪值,它将使用process.env.PORT
而不是5000
。falsy值是指计算结果为FALSE的值,例如在检查变量时。JavaScript中只有六个falsy值:undefined、null、NaN、0、“”(空字符串),当然还有false。
尝试将代码更新为
const PORT = 5000;
。