Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jquery ajax - оооочень медленно :( (https://javascript.ru/forum/jquery/35295-jquery-ajax-oooochen-medlenno.html)

voraa 10.11.2023 20:07

Кто же знает, как вы грузите.
Что на сервере (php? node?)

Может медленный инет, большие файлы и по таймауту серверный скрипт отключается. Тогда надо проверить настройки сервера (в php)
Тестируйте сами в продакшене, смотрите сетевые ошибки. Сделайте в серверном скрипте логи и смотрите их.

win32s 10.11.2023 21:03

Nexus, код отправки примерно такой, но врядли в нем может быть ошибка, это же копипаст с учебника
$.ajax({url: $("#imgForm").attr('action'),
		type: 'post',
		data: window.FormDataAll,
		contentType: false,
		processData: false,
		/*async:false,*/
		success: function(data) 
			{
			$("#err1").hide();
			window.FormDataAll = null;
			window.imgArr =  {};
			$("#js-file-list *").remove();
			
			},

Весь код большой, 200 строк примерно. Я не против оплатить консультацию / дебаг, если кто возьмется . Но беда в том, что неясно как отловить ошибку - люди доступ через тимвьювер не дают к своим устройствам где "не работает".

voraa 10.11.2023 21:21

Причем тут код отправки.
Допустим пользователь выбирает для отправки много файлов. Серверный скрипт работает долго, загружая их. И слетает по таймауту. Надо смотреть какой таймаут установлен и может быть увеличивать его.
Другой подход - пользователь выбирает много файлов, но вы их грузите по одному. Загрузился один, начинаете загрузку следующего. Много раз вызывается серверный скрипт, но каждый раз он работает короткое время и таймаута не возникает.

win32s 10.11.2023 21:24

voraa,серверный скрипт залогирую + увеличу таймер.
Гружу вроде все вместе, код выше так делает. По уму, правильнее разбивать по одному?

voraa 10.11.2023 21:28

Цитата:

Сообщение от win32s
По уму, правильнее разбивать по одному?

Все зависит от условий использования. Может там пользователь грузит пяток небольших файлов - это одно, а если предполагается загрузка десятков больших - это другое.
Универсального решения нет.

voraa 10.11.2023 21:33

Цитата:

Сообщение от win32s
люди доступ через тимвьювер не дают к своим устройствам где "не работает".

Отлаживайте сами. Сами грузите файлы в разных количествах и разных размеров и ловите ошибку.

Хотя метод дурной. В одной конторе мне тоже жаловались, что медленно, с ошибками....(по их локальной сети с внутренним сервером) Я прихожу к ним, сажусь за комп - все летает. Оказывается они пускали меня за комп в обед или вечером, когда сеть не нагружена. А как все принимаются за работу так труба.

win32s 10.11.2023 21:36

voraa, в том то и беда, что сложно отладить. Наверное, лучшим вариантом будет взять готовый какой-то jQuery фото плагин. Мне надо, по факту, загружать до 5 файлов картинок, это типа хостинга картинок. Может, есть уже отлаженные вещи.
p.s. не могу поставить плюс, пишет ошибку.

voraa 10.11.2023 21:41

Цитата:

Сообщение от win32s
загружать до 5 файлов картинок,

Обычно это проблем не вызывает. 10-20 Мб для нормальной сети не проблема. Надо искать в чем дело. Смотреть сетевые ошибки.
Я у вас в коде вижу success.
А функция для error есть?

win32s 11.11.2023 02:21

voraa, не было, да. По итогу - в логах апача оказались ошибки max_post_size, в общем передавалось 5 файлов, по 5 мб, а максимальный размер был 10Мб.
В итоге, взял готовый плагин отсюда https://github.com/hayageek/jquery-upload-file/ .


Часовой пояс GMT +3, время: 17:36.