gpt4 book ai didi

php - React/Php/MySQL - 通过 REST API (AJAX) 以两种方式发送变量

转载 作者:行者123 更新时间:2023-11-29 17:06:04 25 4
gpt4 key购买 nike

我正在使用 ReactJS 前端、PHP 后端和 mySQL 数据库构建一个 Web 应用程序。

该应用程序用于接送服务,我计算价格的方式是为每个位置分配一个数字,该数字引用表中的行号或列号。

与位置对应的数字存储在客户端 JSX 代码的“id”字段中。因此上车地点选项可能是:

<select className="custom-select" id='suburbOptions' onChange={suburbChoiceListener}>
<option id="0" value="0"> Please Select Suburb </option>
<option id="1" value="suburbPicked" title="Manhattan">Manhattan</option>
<option id="2" value="suburbPicked" title="Brooklyn">Brooklyn</option>
...
...
</select>

下降可能是:

<select className="custom-select" id='airportOptions' onChange={airportChoiceListener}>
<option id="0" value="0"> Please Select Airport </option>
...
...
<option id="4" value="suburbPicked" title="JFK">JFK</option>
</select>

从曼哈顿到肯尼迪国际机场的价格将包含在 MySQL 表的第 1 行第 4 列中,由 php 提供。

应该发生以下情况:

  1. 客户端通过 AJAX 方法向服务器发送价格代码。
  2. 根据这些代码,服务器通过 MySQL 查询从数据库中检索正确的价格。
  3. 服务器返回正确的价格作为响应,以便在前端显示。

我知道如何通过 AJAX 将数据发布到服务器,并且知道如何通过 MySQL 查询从数据库获取数据,但如何将数据附加到响应?

最佳答案

有很多可能的解决方案,但最简单的方法是使用 json_encode($queryResult) 包装数组并使用 echo 输出。最后一步是设置 headers,所以当 js 客户端收到它时,它知道它是 json。您可以使用 header('Content-type:application/json') 来做到这一点。

$query = "SELECT * FROM TABLE_NAME";
$response = [];

if ($result = $mysqli->query($query)) {

/* fetch associative array */
while ($row = $result->fetch_assoc()) {
$response[] = $result;
}

/* free result set */
$result->free();
}
header('Content-type:application/json');
echo json_encode($response);

用纯php完成后,尝试使用像Laravel Lumen这样的框架, Slim FrameworkSymfony 。 (前两个是为了这样的目的而创建的)。每个人都会做好自己的工作,因为每个人都得到了数千名开发人员的支持。

关于php - React/Php/MySQL - 通过 REST API (AJAX) 以两种方式发送变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52049402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com