我是PHP和MySQL开发的新手。我使用Visual Studio在Cordova中构建了一个应用程序。该应用程序以下列方式工作:
=~
on
或off
状态
醇>
我想做什么?
当用户选择任何序列号时,交换机将根据该serial number
的{{1}}显示上一个ON
或Off
状态。
为此,我生成了一个Command Name
,此查询显示了所选序列号的最后serial number
以下是我的PHP代码:
msql query
以下是我在JavaScript中的AJAX调用:
command name
但它没有显示所需的结果并给出错误,如下图所示:
更新代码:
Bellow是我的<?php
require_once('config.php');
$dsn = $_REQUEST['Device_Serial_Number'];
$cmd_Name = $_REQUEST['Command_Name'];
$sqlFet = "select ADC.Server_Device_Command_ID , ADC.Device_ID ,
ADC.Server_Command_ID as Server_Command_ID, ASD.Command_Name
from ADS_Server_Device_Command ADC
inner join ADS_Server_Command ASD on adc.Server_Command_ID = asd.Server_Command_ID
inner join ADS_Device dsn on adc.Device_ID = dsn.Device_ID
where dsn.Device_Serial_Number = '$dsn'
order by adc.Server_Device_Command_ID desc LIMIT 1";
$result = mysqli_query($con,$sqlFet);
mysqli_close($con);
echo $cmd_Name;
?>
更新代码
$.ajax({
method: "GET",
url: "http://localhost:MyPort/server/toggleFetch.php",
data: { Command_Name: tData , Device_Serial_Number: selectedVal },
success: function (data) {
var dt = data;
if (dt.Command_Name == "On") {
$("#cmn-toggle-7").prop('checked', true);
}
else if (dt.Command_Name == "Off") {
console.log('else');
$("#cmn-toggle-7").prop('checked', false);
}
},
error: function (xhr, status, error) {
alert(xhr.responseText, status, error);
//toastr.success('Data not fetched', '', { timeOut: 2000 })
//alert('Error');
}
});
贝娄是ajax
php
现在运行代码时我没有收到任何错误,但仍然没有得到我要求的结果,即切换不会改变它的状态
有关详细信息,请参阅下面的图片
我不知道问题是什么,任何帮助都会受到高度赞赏。
答案 0 :(得分:0)
这个错误意味着,AJAX没有通过GET发送Command_Name。如果变量tData包含某个值,则必须检查变量tData。
答案 1 :(得分:0)
第一步:不要将带有AJAX的command_name发送到PHP脚本(这会导致第5行错误!!),不需要它。第二步:在Php脚本中,您必须更改echo $ command_name,以基于$ dsn回显来自DB的结果。所以来自DB的回声结果。
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
echo $row["Command_name"]; //This should show ON/OFF state from DB to AJAX.