您好我需要在同一个PHP文件中点击按钮调用PHP函数的解决方案, php函数实习生执行Perl脚本以及使用ftp下载文件。 (我的Perl脚本执行和我的ftp下载工作正常)只有当我点击按钮它没有调用php功能时)我发现许多其他帖子没有找到我正在寻找的解决方案。有什么我做错了。 提前谢谢
下面是我的示例php代码
<?php
function getFile(){
exec("/../myperlscript.pl parameters");//
//some code for ftp file download( wich is working )
}
<!--
if(isset($_POST['submit'])){
getFile();
}
-->
?>
<script src="https://code.jquery.com/jquery-1.11.2.min.js">
</script>
<script type="text/javascript">
$("form").submit(function() {
$.ajax({
type: "POST",
sucess: getFile
});
});
</script>
<form method="post">
<input type="button" name="getFile" value="getFile">
</form>
答案 0 :(得分:1)
很多事情你做错了我觉得你不清楚PHP,jquery甚至是AJAX。
由于您希望在按钮点击时通过AJAX发送/检索POST数据而不刷新页面,因此您不需要表单元素。
相反,尝试从以下
了解Ajax的工作原理<?php
function getFile($filename) {
echo "working, contents of $filename will be displayed here";
//terminate php script to prevent other content to return in ajax data
exit();
}
if (isset($_POST['getfile']) && $_POST['getfile'] === "true") {
getFile($_POST['filename']);
}
?>
<script src="https://code.jquery.com/jquery-1.11.2.min.js">
</script>
<script>
$(document).ready(function(){
$("#getFile").click (function(){
$.post("index.php", // current php file name
{
// post data to be sent
getfile: "true",
filename: "file1"
},
function(data, status){
// callback / function to be executed after the Ajax request
$("#fileContent").text(data);
});
});
});
</script>
<button id="getFile">Get File</button>
<p id="fileContent"></p>