Запрос post xhr blob (300 КБ) завершился неудачно с гибкой средой Firefox и движка приложений
Когда я тестирую свой сайт в контексте SSL с балансировщиком нагрузки. Невозможно разместить большой контент в формате GZIP (300 КБ) . Запрос зависает в firebug. Если запрос посветлее, то работает.
Он отлично работает с Chrome или другими браузерами.
Я не вижу запроса журнала для экземпляра движка приложения. Не вижу входа в nginx. Не отображается вход в систему балансировки нагрузки во время запроса. Когда запрос не выполняется, я вижу журналы, и в журналах указано, что это занимает 60 секунд (тайм-аут)
Я вижу здесь ту же проблему:
Сообщение Ajax прерывается Firefox (не видно в Chrome или IE) (также работало использование прокси-сервера fiddler)
Пробовал с "async: false", не сработало. Пытался использовать "setTimeout" вокруг вызова ajax, не сработало.
Обратите внимание: когда я использую приложение непосредственно для экземпляра без балансировщика нагрузки, открывая порты, оно работает безупречно.
Он отлично работает на локальном хосте с настроенным SSL. (самоподписанный сертификат)
Обратите внимание, что когда я использую приложение без SSL и с балансировщиком нагрузки, оно работает безупречно.
Запрос появляется в firebug с пустой информацией (последний запрос) и остается таким и без кода возврата.
Далее это может быть связано с конфигурацией балансировщика нагрузки.
Firefox AJAX POST с FormData никогда не завершается
Но это балансировщик нагрузки движка Google App. У меня нет руки и я не знаю стек.
Эквивалентная проблема здесь:
Запрос ajax не работает в Firefox
Кроме того, когда я использую прокси-сервер Fiddler для перехвата запроса и его расшифровки, он работает!
1 ответ
Я использовал formData для отправки данных GZIP, и теперь он работает.
var formData = new FormData();
var blob = new Blob([binary]);
formData.append("file", blob);
that.postDataBody = formData;
вместо того
that.postDataBody = new Blob([binary]);