Я делаю междоменные вызовы Ajax, используя последнюю версию jQuery 1.7.1. с ответом JSONP.
Я уже тщательно его протестировал на:
Safari, Chrome, Opera, Firefox, IE6 IE7 IE8 IE9 (в режиме совместимости и нет) на Win XP и Win 7 - все они работают без нареканий. Никогда не подводил на нескольких тестах. Все они используют стандартные настройки по умолчанию с включенными JavaScript и Cookies.
В производственном процессе очень редко происходит сбой вызова, но у меня было несколько пользователей из сотен, у которых есть. Вероятно, один из 50 или 100. Я не могу понять это, потому что во всех случаях:
У пользователя не было проблем с междоменными вызовами ajax с использованием jQuery. (то есть не междоменные вызовы работали, поэтому они должны иметь включенный JavaScript и поддерживать ajax).
У пользователя были проблемы только с междоменными вызовами ajax с использованием jQuery. Даже после повторных попыток. То есть пользователь будет иметь проблему или нет, он не будет работать тогда, работать или работать, а затем отказывать. Только один или другой.
Вот пример строк пользовательских агентов, которые были затронуты:
Mozilla / 5.0 (совместимо; MSIE 9.0; Windows NT 6.1; Trident / 5.0; FunWebProducts)
Mozilla / 4.0 (совместимо; MSIE 8.0; Windows NT 5.1; Trident / 4.0; GTB7.2; .NET CLR 2.0.50727; .NET CLR 3.5.30729)
Mozilla / 4.0 (совместимо; MSIE 8.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CPNTDF; ibrytetoolbar_playbryte; .NET4.0C)
Кажется, это влияет только на IE, у меня никогда не было проблем с другими браузерами.
Проблема исчезнет, если они используют другой браузер, я сказал им, чтобы установить Chrome.
Проблема не может быть связана с подключением, компьютером или ОС, так как смена браузеров сработала.
Я могу только исключить, что это должен быть параметр, который можно найти только в IE. У кого-нибудь была эта проблема? Кто-нибудь имеет представление о том, какая настройка IE может блокировать междоменные вызовы Ajax с ответом JSONP.
Это не может быть обычными проблемами AJAX / JSONP / Cross-domain, поскольку эти проблемы не возникают, когда браузеры установлены по умолчанию, а также потому, что я уже сделал это надлежащим образом:
* строка метки времени в конце, чтобы остановить супер кэширование
* JSONP ответ
и т. д.
Я могу подтвердить, что звонок вообще не срабатывает.