首页 > 解决方案 > 从用户输入查询 MySQL 数据库

问题描述

我正在开发一个 VueJS 网络应用程序,在该应用程序中,我需要根据用户输入查询一个人名数据库。


在我的server.js文件中,我有我想要查询的 API 端点并将其托管在 localhost:4000

//Staff
app.get('/staff', (req,res) => {
    connection.query(SELECT_CERTAIN_STAFF, (error,results) => {
        if(error){
            return res.send(error)
        }
        else {
            console.log('Selected STAFF from People')
            return res.json({             
                data: results
            })
        }
    })

})

在我的Search.vue这是我的搜索方法

  //Data
  data(){
    return {
      input: '',
      errors: ''
    }
  },

  //Methods
  methods:{
    search(keyboard){
      console.log(this.input)
      axios.get('http://localhost:4000/staff?username='+this.input)
      .then(response => {
        console.log(JSON.stringify(response.data.data))
      })
      .catch(error => {
        console.log(error)
        this.errors = error
      })
      console.log(keyboard.value)
    }
  },

我添加了 console.log(this.input) + console.log(keyboard.value) 来测试从用户那里获取的正确输入,它是

在我的回复中,console.log(JSON.stringify(response.data.data))只是返回端点/staff 中的数据,而不是根据用户输入过滤任何数据。

有人知道为什么要这样做/不同的方法吗?我是否正确设置了 API 端点?

谢谢

标签: javascriptmysqlnode.jsaxios

解决方案


推荐阅读