Я на самом деле использую 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 (каждую секунду в моем случае ) вместо ожидания окончания моего сценария?
Спасибо за помощь.