现在我正在为一个个人项目编写一个带有轮子的 Raspberry Pi 机器人。我想通过在 Raspberry 上运行的 Apache 网站来控制它。我只想在本地连接到它。
昨晚我已经完成了控制机器人轮子的按钮。我尝试通过 PHP 执行启动电机所需的文件,但很快了解到该站点总是切换,当我只使用 submit
时,我不希望它这样做。 <form></form>
中的按钮。所以我上网找到了一些关于ajax
的信息.
由于所有按钮都不起作用,我将仅向您提供我的代码中的一个按钮的示例。它们的工作原理都是一样的,只是有不同的名称、目录和调用不同的函数。所有功能都在同一个 Javascript 中。
HTML:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../javascript/pfeile/pfeile.js"></script>
<div class="pfeilvorne" id="submitvorne" style="background-color: transparent;" onClick="vorne()"></div>
Javascript:
function vorne() {
$.ajax({
url:"../../php/Pfeile/vorne.php", //the page containing php script
type: "POST", //request type
url:"../../php/Pfeile/php.php", //the page containing php script
});
}
PHP:
<?php
exec("sudo killall vorne.bin");
exec("sudo killall hinten.bin");
exec("sudo killall links.bin");
exec("sudo killall rechts.bin");
exec("sudo killall kreis.bin");
exec("sudo /home/pi/Maxwheel/Scripte/Vorne/sketch_apr13a/vorne.bin");
?>
我使用 sudo ./[Scriptname]
测试了脚本在 ssh
控制台,他们正在工作。当我单独使用 php 时,这些按钮也可以工作(但仅使用 php 仍然会更改站点......)
希望您能帮助我,谢谢!
最佳答案
一个对象中有两个相同的键 (url)。它们将被覆盖。尝试这样的事情
$(document).ready(function() {
$('#submitvorne').click(function() {
$.ajax({
url:"../../php/Pfeile/vorne.php", //the page containing php script
type: "POST", //request type
});
$.ajax({
url:"../../php/Pfeile/php.php", //the page containing php script
type: "POST", //request type
});
})
})
<div class="pfeilvorne" id="submitvorne">
关于Javascript 执行 PHP 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49844403/