这里有分解:我的问题有两个,我想用一个按钮来调用我的php脚本,然后调用我的小内部测试服务器上运行的nodejs脚本(这是全部现在在当地完成。)
这是我的html +脚本拉:
<input type="submit" value="Save Sketch" id= "run_system">
</body>
<script>
$('#run_system').on('click', function(){
$.ajax({
url : 'exec.php',
type : "GET"
}).done(function(data){
console.log(data);
});
});
</script>
这是我的php脚本:
<?php exec('node screenshot.js //place holder url that gets dumped into js file// "); ?>
所以我的问题是之前对这个php的调用没有执行这个。我用google搜索的所有东西都说这个exec(&#34;&#34;)应该运行我的nodejs脚本。我错过了什么?
我在猜测类型:GET是不正确的,尝试没有那条线,把POST放在那里,似乎没有什么工作
哦还有一个添加,所以当我运行以上所有它确实是将php文件中的内容打印到控制台,并没有实际运行脚本
答案 0 :(得分:0)
其中一个问题是exec
正在执行命令,但您没有捕获/返回该命令的输出。您可以在echo
之前添加print
或exec
以将输出返回到AJAX请求。
您可能还希望绑定到submit
事件来处理表单提交以及submit
按钮点击,但这会绑定到表单本身。
最终,我建议你考虑通过向exec
节点脚本(或包装它的东西)添加一个简单的HTTP服务器来处理这个screenshots.js
,并用它来处理AJAX请求。可能需要添加Access-Control-Allow-Origin
豁免。