Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过单击网站上的按钮来执行node.js命令?_Javascript_Php_Node.js - Fatal编程技术网

Javascript 如何通过单击网站上的按钮来执行node.js命令?

Javascript 如何通过单击网站上的按钮来执行node.js命令?,javascript,php,node.js,Javascript,Php,Node.js,我试图通过点击按钮在php网页上执行一个终端命令。它是用来驾驶ArDrone的,是一个nodejs文件,我可以通过打开terminal,cd到目录来执行命令,然后通过输入'node drone.js'来执行它,它执行得很好。我现在已经创建了一个网页,我想有一个按钮,我可以点击执行文件,而不必通过终端。我不确定这在PHP中是否可行?我试过以下方法 <?php if (isset($_POST['button'])) { exec('desktop/dronenotes/drone.

我试图通过点击按钮在php网页上执行一个终端命令。它是用来驾驶ArDrone的,是一个nodejs文件,我可以通过打开terminal,cd到目录来执行命令,然后通过输入'node drone.js'来执行它,它执行得很好。我现在已经创建了一个网页,我想有一个按钮,我可以点击执行文件,而不必通过终端。我不确定这在PHP中是否可行?我试过以下方法

<?php
if (isset($_POST['button']))
{
     exec('desktop/dronenotes/drone.js');
}
?>
<html>
<body>
<form method="post">
<p>
    <button name="button">Start Drone</button>
</p>
</form>
</body>
这对我不起作用,我也试着只执行exec'node-drone,js'


我不知道下一步该做什么,因此任何建议都将不胜感激。

您可能需要做以下事情:

exec('/path/to/node /path/to/drone.js');

按钮本身不会生成POST值。使用隐藏输入:

<form method="post">
<p>
    <input type="hidden" name="button" value="1">
    <input type="submit" value="Start Drone">
</p>
</form>

我猜你不明白基本原理。exec在服务器上运行。我不是一个真正的网络程序员。嗨,你是在告诉我这对我来说不起作用,还是我该如何让exec运行?我想一个名为=。。。属性也应该生成一个请求。您不需要任何其他输入字段。您好,我不确定应该为节点的路径执行什么操作。如何获取路径?您可以将node.js添加到您的操作系统环境变量中。它将根据操作系统的不同而有所不同,然后您无需担心路径,只需运行exec'node/path/to/drone.js';嗨,我试着用谷歌搜索如何将node.js添加到操作系统变量中,但我不知道怎么做。我正在使用mac OS,你知道如何在mac上添加它吗?请转到“告诉你的系统在哪里找到节点”部分,感谢我完成了这一切,我现在只需输入Node desktop/drone notes/drone.js即可在终端上正常运行,但从网页上的按钮仍无法运行。我的网页上有以下内容,你能看出这有什么问题吗