Я запускаю сервер Apache из Raspberry Pi и имею скрипт python, который возвращает вход датчика, печатая его. Это правильно печатает его на консоли. В настоящее время у меня есть php-скрипт, который получает этот вывод и отключает свет, если датчик читает высоту, прежде чем печатать его снова. Это также работает при запуске с консоли. Последняя часть - это javascript, который должен получить выход из php. Он делает это с помощью ajax, который запускает функцию «success», но получает «0» из скрипта php.Как получить поплавок с python на JavaScript без cgi
Мой PHP скрипт:
<?php
exec ("python temp.py", $temp);
if((float)$temp[0]>28)
{
exec("gpio read 0",$state);
if($state[0]=="1")
{
include('gpio.php');
echo("Overheated: ".$temp[0]);
}
}
else
{
echo($temp[0]);
}
?>
Мои ЯШ:
$.ajax(
{
type: "GET",
url: "temp.php",
dataType: "text",
success: function(msg)
{
alert("asd"+typeof msg);
document.getElementById('text').innerHTML = msg;
return msg;
},
error: function(jqXHR, textStatus, errorThrown){
alert(jqXHR.responseText);
}
});
Любые предложения очень ценятся. Спасибо.
Попробуйте 'var_dump()', чтобы увидеть точное значение и его тип. Если вы этого не ожидаете, попробуйте добавить 'die()' или 'exit()' в конце скрипта вместо закрытия скобки '?>'. – Nevertheless
Когда я запускаю php из командной строки, я получаю строку (7) «26.9862», как и ожидалось. Но веб-сайт печатает строку (0) "". Любые подсказки относительно того, почему это не отображает правильное значение? И у меня в настоящее время есть exit() в php. – dragoneye000
Кажется, что без каста php получает значение NULL из скрипта python. – dragoneye000