![](/img/trans.png)
[英]How do I call a python function from a cgi script with javascript?
[英]How to get a float from python to JavaScript without cgi
我正在从Raspberry Pi运行一个apache服务器,并有一个python脚本,通过打印返回传感器输入。 这会将其正确打印到控制台。 目前我有一个PHP脚本获取此输出并在传感器正在读取时关闭灯光,然后再次打印。 从控制台运行时也可以使用。 最后一部分是javascript,它应该从php获取输出。 它使用ajax,它运行“success”函数,但从php脚本获取“0”。
我的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]);
}
?>
我的js:
$.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);
}
});
任何建议都非常感谢。 谢谢。
对。 这可能是用户权限问题,因为您从终端获取用户下的输出运行脚本。 并且在服务器用户下运行它的浏览器返回一个空字符串。
从服务器运行脚本时检查www-data
(或其他)权限。 设置错误报告并运行:
ini_set('display_errors', true);
error_reporting(E_ALL);
echo exec('whoami');
如果它打印出不是sudoer的用户,请设置正确的权限以允许该用户执行.py
脚本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.