提问人:Dosya 提问时间:10/28/2022 更新时间:12/15/2022 访问量:69
如何在 ReactJS + ExpressJS 中将按钮的文本值发送到服务器?
How can I send text value of a button to the server in ReactJS + ExpressJS?
问:
我无法将按钮文本值发送回服务器。
客户端按钮的代码:
{question.options?.map((option, index) =>
<button key={index} className={styles.answer} onClick={() => guessHandling()}>{option}</button>)}
客户端onClick guessHandling函数的代码:
const guessHandling = async (userGuess) => {
const res = await axios.post('/api/guess', { userGuess });
setStatusMessage(res.data.returnStatus);
};
服务器端的代码:
app.post('/guess', (req, res) => {
console.log(req.body.userGuess); // <---- I RECIEVE "UNDEFINED" IN THE SERVER CONSOLE HERE.
res.send({
returnStatus: "Guess Recieved"
});
});
如上所示,当我尝试console.log userGuess 时,它是未定义的。
我还尝试包括 .value、.innerText、.innerHTML......仍然不起作用。
我尝试使用useState,但我不知道如何将按钮文本插入状态(这是这个问题的主要问题)。
(大概吧?我在onClick功能中缺少一些东西..我很想在这个问题上得到一些帮助。
答:
0赞
Dosya
12/15/2022
#1
正如 Elan Hamburger 在评论中所写的那样, 解决方案很简单:
您实际上并没有将该值传递到对 guessHandling 的调用中。尝试: onClick={() => guessHandling(选项)}
评论
guessHandling
onClick={() => guessHandling(option)}