【问题标题】:How to retrieve a specific record from the database based on the value selected using a selection box?如何根据使用选择框选择的值从数据库中检索特定记录?
【发布时间】:2019-12-04 15:41:45
【问题描述】:

我想要达到什么目的?

我正在尝试根据使用选择框选择的值从数据库中检索特定记录。

下面是控制台错误

  GET /api/GetStats1?playerNumber=2 404

数据库表

UserTeamsGamesStats Table

id: (int Primary Key)
playerNumber: (int) 
name:(varchar)

下面是我的函数,一旦用户从选择框中选择一个值就会执行。

handleChangePlayerNumber = e => {
   e.preventDefault();      

   var todoId = document.getElementById('todoId').value;
   resultElement.innerHTML = '';

   axios.get('http://localhost:5000/api/GetStats1', {
     params: {
         playerNumber: todoId
       },    
    })
    .then(function (response) {
    console.log(response);

    })
    .catch(function (error) {

    });

}

下面是前端选择框

        <select className='form-control'
          id="todoId"
          onChange={this.handleChangePlayerNumber}>

          <option selected='defaultValue' hidden='hidden'>
          Choose a Player by their kit number
          </option>


          <option value=2>2</option>


        </select>

后端 NodeJS

router.get('/GetStats1', async function(req, res) {

  const findUsers = await UserTeamsGamesStats.findOne({
    where: {
      gamePlayed: 0
    }
  });

  if (findUsers) {
   res.json(findUsers);
  }
  else{
    console.log('Cant find user stats');
  }
});

【问题讨论】:

    标签: javascript node.js axios sequelize.js


    【解决方案1】:

    您需要从查询参数中传入正确的 playerNumber。因此,您的 findUsers 调用将如下所示:

    const findUsers = await UserTeamsGamesStats.findOne({
      where: {
        playerNumber: req.query.playerNumber
      }
    });
    

    【讨论】:

      【解决方案2】:

      由于axios 发送带有playerNumber 作为参数的GET 请求,您应该能够使用req.query.playerNumber 在后端获取您的值:

      function(req, res) {
        { playerNumber } = req.query;
      
        const findUsers = await UserTeamsGamesStats.findOne({
          where: { playerNumber }
        });
      
      }
      

      不确定gamePlayed 所以我忽略了它

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多