Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Остановить выполнение Ajax запросов в цикле

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ivt32
Отправлено: 29 Октября, 2017 - 19:27:52
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Окт. 2017  


Помог: 0 раз(а)




Добрый день. Такая ситуация: делаю свой импорт товаров в Битрикс из CSV файла. Товаров огромное количество, при нажатии на кнопку импорт у меня запускается процесс импорта. Скрипт считывает поочереди каждую строку файла и отсылает Ajax запрос на страницу со скриптом добавления файла. Возможно пользователь захочет остановить процесс импорта, как мне выйти из цикла и остановить процесс по нажатию на какую-нибудь кнопку?

<?foreach ($list as $string) {?>
<script>
addproduct(); // В этой функции Ajax запрос
</script>
<?}?>
 
 Top
Sail
Отправлено: 29 Октября, 2017 - 19:37:32
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




ivt32 пишет:
выйти из цикла и остановить процесс по нажатию на какую-нибудь кнопку?

Добавьте в функцию, выполняющую ajax запрос проверку "какого-либо" параметра.
А по нажатию на эту "какую-нибудь" кнопку изменяйте этот параметр. Будь то data-атрибут, наличие/отсутствие класса, содержимое специально выделенной для этого дела переменной и прочая, прочая, прочая...
 
 Top
ivt32
Отправлено: 29 Октября, 2017 - 19:49:25
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Окт. 2017  


Помог: 0 раз(а)




Sail пишет:
ivt32 пишет:
выйти из цикла и остановить процесс по нажатию на какую-нибудь кнопку?

Добавьте в функцию, выполняющую ajax запрос проверку "какого-либо" параметра.
А по нажатию на эту "какую-нибудь" кнопку изменяйте этот параметр. Будь то data-атрибут, наличие/отсутствие класса, содержимое специально выделенной для этого дела переменной и прочая, прочая, прочая...


Тут такое дело что сам по себе Ajax запрос маленький. Все-го лишь добавление товара.
Но вот допустим сейчас у меня их в цикле вызывается 6000, мне нужно как-то выйти из этого цикла по нажатию на кнопку. Т.е.
<?foreach ($list as $string) {?>
<script>
addproduct(); // В этой функции Ajax запрос
</script>

if ($parametr) {
break;
}
<?}?>

Я же ведь не могу просто так и присвоить что-то переменной $parametr динамически, мне нужно дождаться выполнения всего цикла? Или я ошибаюсь?
 
 Top
Sail
Отправлено: 29 Октября, 2017 - 21:29:59
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




ivt32, кстати, да... приведённый код - процесс формирования страницы на сервере. До пользователя (браузера) тут дело доходит только после того, как весь цикл отработает. Так что "в процессе" пользователь повлиять при данном подходе к процесса формирования страницы не может.
И на странице в данном случае получаете 6000 строк <script>addproduct();</script>
Непорядок, однако.
Или фишка в том, что это Битрикс и все не так, как выглядит?
 
 Top
zypikov
Отправлено: 30 Октября, 2017 - 14:43:48
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Интересно, этот самый параметр может ли прийти из другого ajax-запроса? Видимо от архитектуры кмски зависит..


-----
У всего есть обратная сторона.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB