【发布时间】:2014-08-27 14:08:40
【问题描述】:
我正在构建两个相互依赖的下拉列表,其中第二个列表(“sensor_list”)的选项取决于第一个列表(“node_list”)中选择的选项。要执行此操作,请将侦听器附加到“node_list”,并且选择选项时,我会制作一个Ajax请求,以便加载'sensor_list'的数据。两个列表的所有数据都是从同一个数据库中加载的。
在该 ajax 请求中,我访问数据库上的“传感器”表,并获得所需传感器的“传感器 ID”和“传感器名称”。我现在想要的是将此数据传递回请求的“成功”功能。这是自动完成的吗?我需要向函数传递任何参数吗?
另外,我需要返回的数据是 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
}
});
}
“选项”是我希望从请求中返回的数据,它们将成为“传感器列表”的选项。
提前非常感谢!!
【问题讨论】:
标签: php jquery mysql ajax json