두 번째 독립적 인 드롭 다운 목록을 만들었습니다. 두 번째 목록의 옵션 ('sensor_list')은 첫 번째 목록 ('node_list')에서 어떤 옵션이 선택되었는지에 따라 달라집니다. 이를 위해 node_list에 리스너를 연결하고 옵션을 선택하면 'sensor_list'에 대한 데이터를로드하기 위해 ajax 요청을합니다. 두 목록의 모든 데이터는 동일한 데이터베이스에서로드됩니다.JSON 형식의 배열을 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'I 요청과 함께 전달 변수이며 I는 처음리스트에서 선택된 노드의 ID이다.
자바 스크립트는 다음과 같습니다
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
}
});
}
'옵션'은 내가 요청에서 반환 할 데이터이며, 그들은 'sensor_list'에 대한 옵션이 될 것입니다.
미리 감사드립니다.
<?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);
?>
@Debflav 주석으로 처리하는 대신 답변을 편집 할 수 있습니다. –
@Debflav 구문 오류가 있으면 대답을 편집 할 수 있다고 말하는 것만 알고 있습니다. 사용자는 귀하의 편집을보고 편집에 대해 감사 할 것입니다. –
나는 그것을했지만 작동하지 않았습니다. 또한 나는 경고 ('여보세요'); 성공 함수 내부에 있지만 결코 나타나지 않았습니다. 그리고 'fetch_sensors.php'를 빈 페이지 만 별도로 실행하려했을 때. – DimitrisChousiadas