按钮单击调用PHP函数

时间:2017-10-06 02:20:51

标签: javascript php html

您好我需要在同一个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>

1 个答案:

答案 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>