javascript 按钮点击调用PHP函数

7uhlpewt  于 2023-05-21  发布在  Java
关注(0)|答案(1)|浏览(103)

我需要一个解决方案,在同一个PHP文件中单击按钮调用PHP函数,PHP函数内部执行Perl脚本以及使用FTP下载文件。(我的Perl脚本正在执行,我的ftp下载工作正常)只有当我点击按钮,它不调用PHP函数)。我发现许多其他帖子没有找到我正在寻找的解决方案。我做错了什么吗?
先谢谢你了
下面是我的示例PHP代码

<?php
    function getFile(){
      exec("/../myperlscript.pl  parameters");// 
      //some code for ftp file download( which 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>
8hhllhi2

8hhllhi21#

有很多事情你做错了,我觉得你不清楚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>

相关问题