在通过以下ajax调用获取返回值时遇到问题该函数正在将参数发送到php文件并且工作正常但是这没有获得返回值
$(document).ready(function(){
$state = "greenoff";
$('input[type="checkbox"]').click(function()
{
if($(this).is(":checked")){
$state = "greenon";
}
else if($(this).is(":not(:checked)")){
$state = "greenoff";
}
$.ajax({
type: "POST",
url: "led.php",
data: { 'action': $state }
})
.done(function(msg) {
alert( "Data Saved: " + msg );
});
});
}
);
我的php代码如下
<?php
if (isset($_POST['action'])) {
require("php_serial.class.php");
$serial = new phpSerial();
$serial->deviceSet("/dev/ttyACM0");
$serial->confBaudRate(9600); //Baud rate: 9600
$serial->confParity("none"); //Parity (this is the "N" in "8-N-1")
$serial->confCharacterLength(8); //Character length (this is the "8" in "8-N-1")
$serial->confStopBits(1); //Stop bits (this is the "1" in "8-N-1")
$serial->confFlowControl("none");
$serial->deviceOpen();
sleep(2);
if ($_POST['action'] == "greenon") {
$serial->sendMessage("H\r");
$read = $serial->readPort();
echo $read;
} else if ($_POST['action'] == "greenoff") {
$serial->sendMessage("L\r");
$read = $serial->readPort();
echo $read;
}
}
?>
答案 0 :(得分:0)
将PHP文件分解为多个部分,并在PHP文件的各个点使用die('I am here 01')
等异常终止它。
这样您就可以了解自己的距离,并找出问题开始的确切位置。
第一个测试只是用以下代码替换PHP代码:
<?php
die('Got to here');
您的AJAX代码块应该回显该消息。如果没有,则ajax甚至不会发生。