У меня есть серия кнопок на странице, которые, когда пользователь нажимает на них, вызывают PHP скрипт через jQuery.ajax()
. В настоящее время я добавляю конкатенированную строку дампа «обновлений прогресса» в хранилище данных DIV через параметр success: function(data) { $('#divplaceholder').append(data); ...}
. Моя проблема заключается в том, что я хотел бы распечатать обновления прогресса в реальном времени этого заполнитель DIV, поскольку исполнение «перекликается» с ними.Как перенести обновления прогресса с PHP на страницу после нажатия пользователем кнопки?
Я прочитал много примеров SSE, учебников, сделал обширный поиск в Google, и я думаю, что у меня есть идея о том, как отправлять «сообщения» с сервера, но мне не удалось найти пример того, как фактически запускать tasker.php через jQuery для отправки обновлений , когда пользователь на самом деле нажимает кнопку. В настоящее время мой вызов .ajax()
запускается событием jQuery .on('click')
.
Я заблудился и смущен между обучением отправлять обновления обратно через SSE и как вызвать выполнение tasker.php (а в некоторых случаях, посылая ему параметры, как .ajax()
позволяет мне делать).
Любая помощь, очищающая это, будет оценена по достоинству.
ОБНОВЛЕНИЕ # 2:Found this example, но как только загрузка JavaScript запускается; Я хочу запустить выполнение при нажатии кнопки.
UPDATE # 1: ДОБАВИТЬ SAMPLE КОД (Пожалуйста, простите форматирование, я отправляю это из мобильного приложения) Это абстрагировать, как я это реализовать прямо сейчас:
<? php
$output ="";
/*dummy code*/
read_csv_file();
$output.= "Opened and read file<br/>"; //Step 1
parse_csv_file();
$output.= "CSV file successfully parsed"; //Step 2
delete_from_directory();
$output.= "CSV file successfully deleted"; //Step 3
insert_data_into_db();
$output.= "successfully inserted records into Database"; //Step 4
return $output;
?>
<div id="placeholder"></div>
<button id="button">Update</button>
//jQuery...
$('#button').on('click', function(){
.ajax({
url: 'tasker.php',
dataType: 'txt',
data: dataVariable,
success: function (data){
$('#placeholder').append(data);
});
});
//jQuery...
Как обернуть ваш код внутри .on ('click') с помощью setInterval (function() {alert ("Hello");}, 3000); –
Было бы полезно увидеть некоторые из ваших кодов. Вы имеете в виду, что у вас уже есть (то есть, но без обновлений прогресса) с помощью.. как выглядит этот вызов? –
@ DarrenCook сделано. Надеюсь, поможет. благодаря! – JESTech