Я разрабатываю проект, который построен в CakePHP и использует jQuery в нем. У меня есть сценарий, который нужно вызвать с помощью запроса ajax. Этот запрос делает много манипуляций в базе данных и занимает слишком много времени. Между исполнением он записывает свой статус в отдельный файл, поэтому я могу видеть статус выполнения скрипта. Каждый раз, когда он открывает файл, записывайте в него статус выполнения, а затем закройте файл, чтобы удалить проблему блокировки файла.
Теперь, когда этот сценарий выполняется, я отправляю еще один запрос ajax, который просто читает этот файл и периодически возвращает содержимое через каждые 20 секунд. Теперь проблема в том, что когда первый запрос ajax занят mysql, любой другой запрос на сервер будет остановлен. Mysql создает процессы всех этих запросов и помещает этот запрос в спящий режим. Я думаю, что его из-за структуры, поэтому на каждой структуре запроса необходимо проверить базу данных. Когда завершится первый основной скрипт, все остальные запросы также будут завершены.
Есть ли способ, которым я могу получить прогресс ajax ?? Поправьте меня, если я где-то ошибаюсь ... !!! Заранее спасибо.Как получить Ajax Request Progress?
ответ
Я сделал это. Мне просто нужно вызвать скрипт, который читает файл и отправляет данные из отдельного файла php. Нет необходимости звонить в рамки ... !!!
Если вы используете jQuery для своих нужд Ajax, вам может потребоваться опция «async» метода $ .ajax. Как я вижу, вы хотите показать прогресс по запросу, который сейчас обрабатывается. Теперь у этого есть недостаток, он заблокирует все, что вы делаете, но он будет правильно показывать ход каждого «потока». Я не знаком с Cake, так как я использую Kohana. Теперь mysql, помещающий что-то в «сон», маловероятен, он скорее ставит их в очередь. Здесь нет реального «прогресса», я бы предложил использовать что-то вроде $ .ajaxStart или $ .ajaxStop (независимо от того, что было вызвано в jquery), как только вы получите ответ с сервера, вы можете скрыть элемент прогресса ,
- 1. Ajax form progress progress bar
- 2. AJAX REQUEST in request
- 3. jQuery Ajax Request in Ajax Request
- 4. , показывающий прогресс progress progress с запросом ajax
- 5. Ajax form progress redirect
- 6. Java Ajax Display Progress
- 7. ajax call progress bar/progress status
- 8. Volley Multipart Request with Progress Bar
- 9. Symfony Ajax Progress Bar
- 10. jQuery ajax progress
- 11. JQuery/AJAX Progress Bar
- 12. jquery ajax progress deferred
- 13. PHP + Ajax Progress Indicator?
- 14. AJAX Progress Bar - опрос, комета?
- 15. Получить настройки, используемые jquery $ .ajax request
- 16. CURL PHP AJAX Request
- 17. DomPdf pdf progress progress
- 18. ASP.NET ajax post request получить перенаправленный
- 19. Cordova Ajax Bad Request
- 20. setInterval, ajax request
- 21. Acts_As_Votable Ajax Request
- 22. Как получить XMLHttpRequest Promise progress
- 23. ajax request и robots.txt
- 24. phantomjs и ajax request
- 25. Ajax/progress bar не работает
- 26. Ajax Progress bar при загрузке
- 27. jquery faking ajax request
- 28. Codeigniter loading ajax request
- 29. Ajax request is overriden by onClick request
- 30. Ajax PHP background request
Да, вы правы, я просто хочу показать ход моего первого запроса ajax. Этот скрипт перебирает более 10 тысяч записей, и я просто хочу показать пользователю, что в настоящее время на записи выполняется скрипт. После первого запроса любой другой запрос создает процесс в mysql. Я проверяю «show processlist»; команда в mysql создает процесс и устанавливает статус сна в столбце Command. Я уже показывал сообщение «Please wait script in progress ...», но я просто хочу показать фактическое состояние процесса для пользователя. – Nehal