Я делаю ajax-запрос
$.ajax({
url: (some url),
dataType: "json",
error: function(xhr, textStatus, errorThrown) {
(error handler)
},
data : requestData,
success: function(data) {
(success handler)
}
});
Отлично работает в браузерах Opera / Firefox / Webkit.Тем не менее, при использовании IE и наличииpecsestData, содержащего некоторые строки с символами, отличными от ascii (например, ł), возвращается ошибка, и статус xhr равен 12031. Обратите внимание, что даже замена URL на какой-либо существующий документ не дает статуса 404 (однако в Opera и т. Д.), поэтому я думаю, что запрос вообще не выполняется.
О упомянутом дубликате: к сожалению, он мне не помог.Попытка encodeURIComponent без результата (и неудивительно, потому что jquery автоматически делает это, когда объект передается в requestData).Даже жестко закодированный запрос (переданный в виде строки), но он тоже не работает.
ОБНОВЛЕНИЕ: запрос будет работать с данными не ascii, если они кэшируются в IE.Это означает, что я могу скопировать подготовленный URL-адрес XHR, вставить его в другую вкладку IE, а затем обновить исходную страницу с помощью ajax и не получать ошибок.
ОБНОВЛЕНИЕ снова: Исправлено.То, что не было закодировано должным образом, было URL реферера, данным в запросе ajax.Он содержал хэш с не ascii символом (однако, если он кэшировался, работал нормально).Спасибо за ваши усилия.