连接Vue.js前端和Node.js后端时,如何更改Axios响应URL?

sz81bmfz  于 2022-12-26  发布在  Node.js
关注(0)|答案(1)|浏览(142)

我正在尝试使用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?

hyrbngr7

hyrbngr71#

你把端口设置为process.env.PORT5000,所以如果process.env.PORT约束了一个非伪值,它将使用process.env.PORT而不是5000
falsy值是指计算结果为FALSE的值,例如在检查变量时。JavaScript中只有六个falsy值:undefined、null、NaN、0、“”(空字符串),当然还有false。
尝试将代码更新为const PORT = 5000;

相关问题