Как выполнить скрипт php после отправки без ajax? - PullRequest
0 голосов
/ 06 июня 2019

Я на самом деле использую 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 минуту в моем случае), чтобы мои результаты произошли.

Так что я здесь, чтобы спросить, есть ли способ сделать так, как я выполнял свой PHP-файл "внутри" моего HTML-файла, поэтому каждый раз, когда я отображаю строку, она мгновенно отображается в моем HTML (каждую секунду в моем случае ) вместо ожидания окончания моего сценария?

Спасибо за помощь.

1 Ответ

0 голосов
/ 06 июня 2019

Нет, потому что php интерпретируется на сервере, и вы получаете только html в вашем браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...