从用户输入查询MySQL数据库

时间:2018-11-13 09:38:16

标签: javascript mysql node.js axios

我正在使用VueJS Web应用程序,在该应用程序中,我需要根据用户输入来查询数据库的人名。


在我的 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端点?

谢谢

0 个答案:

没有答案