简体   繁体   English

url 中的参数未定义 - axios,反应,表达

[英]params in url undefined - axios, react, express

I'm trying to delete some data from a mysql database with the code:我正在尝试使用以下代码从 mysql 数据库中删除一些数据:

app.delete("/api/deleteHomework/:homeworkName", (req, res) => {
    const homeworkName = req.params.homeworkName

    connection.query(
            "DELETE FROM homework WHERE name = ?",
            [homeworkName],
            (err, result) => {
                if(result){
                    res.send({ message: result })
                    console.log(result)
                }
                if(err){
                    console.log(err)
                }
            }
    )
})

and then the homeworkName is passed from the front end with the code:然后使用代码从前端传递 homeworkName:

  const deleteHw = (homework) => {
        Axios.delete(`http://localhost:1337/api/deleteHomework/${homework}`)
        .then((response) => {
            if(response){
                console.log(response)
            } else{
                console.log("error")
            }
        })
    }

<DeleteForeverIcon className={classes.deleteHwIcon} onClick={() => {deleteHw(value.homeworkName)}} />

However it says the params in the url is undefined: url: "http://localhost:1337/api/deleteHomework/undefined"但是它说 url 中的参数未定义: url: "http://localhost:1337/api/deleteHomework/undefined"

Pass the props "value" directly in the delete function直接在删除function中传递props“值”

export default function YourComponent({ value }) {
...

const deleteHw = () => {
  Axios.delete(`http://localhost:1337/api/deleteHomework/${value.homeworkName}`) // here
  .then((response) => {
    if(response){
      console.log(response)
    } else{
      console.log("error")
    }
  })
}
    
<DeleteForeverIcon className={classes.deleteHwIcon} onClick={deleteHw} />

Back side背面

app.delete('/api/deleteHomework/:homeworkName', (req, res) => {
  connection.query(`DELETE FROM homework WHERE name=${req.params.homeworkName}`, (err, result) => {
    if (err) {
      console.log(err);
    } else {
      res.json(result);
    }
  });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM