Проблема дисплеера прогресса с SetIntervalJquery

Программирование на jquery
Ответить
Anonymous
 Проблема дисплеера прогресса с SetInterval

Сообщение Anonymous »

У меня есть сценарий jquery, который делает вызов Ajax в файл PHP (

Код: Выделить всё

process.php
) Чтобы получить статус базы данных (upload.php и import.php детали работают нормально, и я бы здесь сказал, и я использую javaScript setInterval () , чтобы вернуть значение состояния прогресса каждую секунду. Вот мой сценарий jQuery. < /P>

Код: Выделить всё

jquery.js
$(document).ready(function(){
var clear_timer;
$('#sample_form').on('submit', function(event){
event.preventDefault();
$.ajax({
url:"ajax/upload.php",
method:"POST",
//Additional Ajax parameters here
success:function(data){
if(data.success){
start_import();
clear_timer = setInterval(get_imported_data, 1000);
}
if(data.error){
//Error case code here
}
}
})
});
function start_import(){
$.ajax({
url:"ajax/import.php",
success:function(){
}
})
}
function get_imported_data(){
$.ajax({
url:"ajax/process.php",
success:function(data){
var total_data = $('#total_data').text();
var initial_rows = $('#initial_rows').text();
var width = Math.round(((data-initial_rows)/total_data)*100);
if(width >= 100){
clearInterval(clear_timer);
//Extra ajax parameters here
}
}
})
}
});
Вот мой процесс.

Код: Выделить всё

session_start();
try{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$dbuser = "user";
$dbpass = "password";
$dbhost ="mysql:host=my_host;dbname=my_db;charset=utf8mb4";
$connect = new PDO($dbhost, $dbuser, $dbpass, $pdo_options);
}catch(Exception $e){
//Some Error handling here
}
$user_table = $_SESSION['user_table'];
$query = "SELECT * FROM $user_table";
$statement = $connect->prepare($query);
$statement->execute();
echo $statement->rowCount();
ProgressBar выглядит так, если кто -то заинтересован в

Проблема, в которой я использую, если я использую сессию. Бар отображается только в самом конце процесса. Если я удалю session_start () и использую статические переменные или константы, строка прогресса правильно отображается во время всего процесса. Я широко искал на различных форумах и не могу найти никаких сообщений, которые обсуждают возможную связь между session_start (); (в php) и setInterval (function (), delay); (в JS). Проблема в том, что мне нужно иметь возможность использовать переменную сеанса, чтобы выбрать таблицу, выбранную пользователем. Есть идеи о том, как решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/796 ... etinterval
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»