Ситуация:
Я использую $ .ajax() POST для отправки запроса на php-скрипт, который вставляет около 400 000-500 000 строк в db. Это примерно 3,5 - 4 минуты. (В течение этого времени запрос ОТПРАВЛЯЕТСЯ).
Проблема:
мне нужен какой-то способ, чтобы показать прогресс на этой странице. (например,%). Я попытался использовать $ .ajax() в setInterval, который проверяется каждые 5 секунд или около того, но они, похоже, накапливаются, и все заканчиваются, когда завершается первый (более длинный) $ .ajax().
Вопрос:
Не $ .ajax() асинхронной по умолчанию? Разве это не означает, что запросы могут быть отправлены в любом порядке и в любое время, и ответы должны быть получены в любом порядке и в любое время? Это даже имеет отношение к async? Есть ли способ периодически отправлять «полу-ответы» с одного запроса? Или я не могу отправлять и получать запросы/ответы во время ожидающего запроса/ответа? (см. примерный рисунок ниже)
Заранее спасибо!
multiple requests http://kshaneb.com/reqres.png
+1 для графа. :) Считаете ли вы, что вы разбиваете свои данные, т. Е. Отправляете отдельные запросы по 10k строк? –
+1 для объяснения. сделал u попытался с async true .. – sathish
Я согласен с Zsolt выше, рассмотрите разбиение ваших данных на несколько меньших запросов, которые могут дать вам более быстрый ответ, также вы можете рассчитать% основы от количества выполненных запросов. Кроме того, загрузка больших данных в один запрос, хотя и асинхронная, также приведет к более низкой производительности. –