gpt4 book ai didi

php - 如何从ajax请求返回JSON格式的数组?

转载 作者:行者123 更新时间:2023-11-29 23:52:45 25 4
gpt4 key购买 nike

我正在构建两个相互依赖的下拉列表,其中第二个列表(“sensor_list”)的选项取决于第一个列表(“node_list”)中选择的选项。为此,我将一个监听器附加到“node_list”,当选择一个选项时,我会发出一个 ajax 请求,以便加载“sensor_list”的数据。两个列表的所有数据均从同一数据库加载。

在该ajax请求中,我访问数据库中的“传感器”表,并获得所需传感器的“Sensor_ID”和“Sensor_name”。我现在想要的是将这些数据传递回请求的“成功”函数。这是自动完成的吗?我需要向函数传递任何参数吗?

另外,我需要返回的数据是JSON格式的,以供以后使用。这怎么可能?

这是 PHP 代码:

<?php

$con = mysql_connect("localhost", "root", "") or die('connection not made');
$db = mysql_select_db('name_of_db', $con) or die('db not selected');

$query = "SELECT SensorID,Variable FROM sensors WHERE SensorID IN (SELECT SensorID FROM nodesensors WHERE NodeID=node_selected)";
$result = mysql_query($query, $con) or die('query not made');

$options = json_encode($result);


?>

“node_selected”是我随请求传递的变量,它是我在第一个列表中选择的节点的 ID。

JavaScript 是:

if (node_selected!=0 & node_selected!=null){
$.ajax({
type: "POST",
url: "php/fetch_sensors.php",
data: node_selected,
success: function( options ){
...//here I need the options to be in json format
}
});
}

“Options”是我想要从请求返回的数据,它们将成为“sensor_list”的选项。

提前非常感谢!!

最佳答案

您可以使用mysql_fetch_assoc功能

尝试将 PHP 代码更改为以下内容:

<?php

$con = mysql_connect("localhost", "root", "") or die('connection not made');
$db = mysql_select_db('name_of_db', $con) or die('db not selected');

$query = "SELECT SensorID,Variable FROM sensors WHERE SensorID IN (SELECT SensorID FROM nodesensors WHERE NodeID=node_selected)";
$result = mysql_query($query, $con) or die('query not made');

$returnArray = array();
while($row = mysql_fetch_assoc($result)) {
$returnArray[] = $row;
}

$options = json_encode($returnArray);

?>

关于php - 如何从ajax请求返回JSON格式的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25529384/

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