【发布时间】:2020-06-06 19:51:48
【问题描述】:
所以我在 React 中有这个 onClick 函数,其中一个 div 中的内容将根据另一个 div 中的选定项目而改变。该函数看起来像这样,它将发出一个 post 请求来发送要接收的数据,并发出一个 get 请求来获取实际数据。
handleClick(event) {
this.setState({
selected: event.target.innerText
});
axios.post("/e-commerce_with_purephp/acom_cms_admin/database/serveData.php", {category: this.state.selected})
.then(res => console.log("Response: " + res.parse))
.catch(error => console.log("Error: " + error))
axios
.get("/e-commerce_with_purephp/acom_cms_admin/database/serveData.php")
.then(response => response.data)
.then(data => {
this.setState({
ItemData: data
})
})
}
而我的serveData.php 看起来像这样
<?php
include("connection.php");
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$category = $_POST['category'];
}
if ($_SERVER['REQUEST_METHOD'] == "GET") {
$sql = "SELECT * FROM `$category`";
$result = mysqli_query($connection, $sql);
echo "[";
for ($i = 0; $i < mysqli_num_rows($result); $i++) {
echo ($i > 0 ? ',' : '') . json_encode(mysqli_fetch_object($result));
}
echo "]";
}
?>
除非我定义了类别,否则这不能正常工作。但在这种情况下,它只能处理一个数据并且是硬编码的。我不想一键从数据库中提取所有数据,因为在现实世界中获取所有数据需要更长的时间。我是 Axios 的新手,我参考了网络上的某些文章。
【问题讨论】:
标签: javascript php reactjs axios