У нас есть приложение Rails 3 на Heroku, которое страдает от длительных задержек при запросах JQuery AJAX в IE11, в частности, - примерно 4 или 5 секунд. Запросы не терпят неудачу; они просто берут навсегда. Цивилизованные браузеры, такие как Chrome, FF & Safari все реагируют в течение секунды. И я вижу, что время ответа на сервере такое быстрое, но IE занимает 4-5 секунд, чтобы показать, что запрос завершен.
У меня есть приложение для баребон, чтобы продемонстрировать: https://ajax-testing.herokuapp.com/test. Щелчок по тексту отправляет запрос AJAX на сервер, который отгоняет его, и он отображается в сообщении. Я считаю, что это быстро во всех браузерах, кроме IE, где вы не видите предупреждение в течение 5 секунд.
Я не испытываю задержек, когда я тестирую локально, но когда он развертывается в Heroku, я делаю. Я определил, что это имеет какое-то отношение к SSL на Heroku, потому что проблема уходит, если я установил config.force_ssl в false. Единственная реальная разница в заголовках между SSL (с задержками) и не-SSL (без задержек) на Heroku - это заголовок Strict-Transport-Security в версии SSL.
Вот код для запроса AJAX ...
$.ajax({
type: "POST",
url: "ajax_call",
dataType: 'json',
data: { message: "Test message" }
}).done(function(data) {
alert(data["message"]);
});
Setup:
- Rails 3.2.21 на Heroku
- JQuery 1.11.1
- Пробовал как тонкий & единорог
- IE 11.0.9600.17633 (обновление 11.0.16)
Я пробовал разные серверы, вынимая dataType и другие вариации $ .ajax, добавляя метатеги IE и т. Д. Я не могу найти ссылку на эту конкретную проблему в Интернете. У кого-нибудь есть предложения относительно того, что это может быть или как сузить его дальше?
его лучше написать 'data [" message "]' as 'data.message'. Однако должно быть что-то еще, что держит запрос, потому что с первого взгляда я не видел ничего подозрительного. – Rohit416
@greg, вы решили? У меня точно такая же проблема (ssl, heroku, Rails, ajax-запрос), единственное отличие в том, что я использую Rails 4.1 – ExiRe
@ExiRe Вы имеете в виду, что я не одинок ?! Я был поражен не найти кого-либо еще с этой проблемой в Интернете, когда я искал. Я нашел ответ - это было несколько затянуто, чтобы решить проблему, поэтому я не получил ответа на публикацию ответа. Смотри ниже. – Greg