JavaScript — строка состояния PHP-скрипта

Я создал скрипт php, который отправляет запрос и загружает результаты в формате CSV. Я создал кнопку начальной загрузки, где пользователи могут щелкнуть, чтобы загрузить файл. Для создания некоторых отчетов требуется больше времени, и я хотел показать пользователю какой-то статус, выполняемый сценарием в фоновом режиме.

Я попробовал что-то простое, как BlockUI изнутри скрипта PHP. С помощью echo '<script type="text/javascript">$.blockUI();</script>'; в начале сценария и echo '<script type="text/javascript">$.unblockUI();</script>'; в конце, но это не сработало.

Может кто-нибудь помочь? Мне не нужен индикатор прогресса или что-нибудь необычное. Мне просто нужно показать какой-то статус во время работы php-скрипта.

HTML:

...
<td class="pull-right"><a type="button" href="report1_download_csv.php" class="btn">Download</a></td>
...

PHP:

<?php
/* Set up and execute the query. */
$sql = "SELECT
FROM   TABLE ";
$stmt = sqlsrv_query( $conn, $sql);

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) )  {
foreach($row AS $key => $value){
$pos = strpos($value, '"');
if ($pos !== false) {
$value = str_replace('"', '\"', $value);
}
$out .= '"'.$value.'",';
}
$out .= "\n";
}
sqlsrv_free_stmt($results);
sqlsrv_close($conn);
// Output to browser with the CSV mime type
header("Content-type: text/x-csv");
$date = date('m-d-Y-His');
header("Content-Disposition: attachment; filename=Report1_{$date}_UTC.csv");
echo "Column1, Column2\n";
echo $out;
?>

0

Решение

используйте ajax для отправки запроса на сервер для выполнения операции, затем покажите спиннер или что-нибудь еще, пока сервер не даст вам ответ.

0

Другие решения

Других решений пока нет …