在没有ajax的情况下提交后如何执行php脚本?

时间:2019-06-06 14:08:50

标签: javascript php html ajax echo

我实际上正在使用需要一些时间才能执行的PHP脚本。 它每秒都会回显字符串,比如说1分钟。 我想做的是将这些字符串“回显”到我的HTML页面中。 当我在页面内调用函数时,它运行良好,在页面加载时执行,并每秒回显一个字符串:

<h1> Here is my func </h1>
<?php my_func();?>

但是我不希望在发送表单时显示此信息(因为我会将表单用作函数的参数)。 所以我尝试了这样的事情:

<form method="POST" action="">
  <input name='param' value='param'type='text'/>
</form>
<script>
  $.ajax({
    url:'phpfileWithMyFunc.php',
    data: {
      param : param
    },
    dataType: 'json',
    type:'post'
  )}.done(function (data){
    $('body').append(data);
  });
</script>

这根本不起作用,不知道为什么。 所以我用$.post尝试了其他方法:

<form method="POST" action="">
  <input name='param' value='param'type='text'/>
</form>
<script>
  $('#form').submit(function () {
    $.post('phpfileWithMyFunc.php', { param: param }, function(result) {
      $('tbody').append(result);
    });
    return false;
   });
</script>

最后,这个方法可以工作,但是我的php文件必须完成执行(在我的情况下,等待1分钟),以使结果发生。

所以我在这里问,在我的HTML文件“内部”执行PHP文件时,有什么方法可以做,所以每次我回显一个字符串时,它都会立即在HTML上显示(以我为例,每秒显示一次) ),而不是等待脚本结束?

感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

否,因为php是在服务器中解释的,并且您只能在浏览器中获取html。