У меня есть страница, где onload Я выдаю несколько запросов POST одновременно, чтобы загрузить виджетов на странице. Запрос выглядит примерно так:Результат Ajax получает кодировку
$.ajax({
type: 'POST',
contentType: 'application/json',
dataType: 'html',
data: JSON.stringify({}),
success: function(htmlResult) {
$div.html(htmlResult);
}
})
В большинстве случаев все грузы нормально. Однако некоторое время один из виджетов будет загружен с replacement character. Это не один конкретный виджет, с которым это происходит, но это может быть любой из них наугад.
Когда я проверяю плохой ответ HTTP, я замечаю, что заголовок Vary
имеет значение Accept-Encoding
и тело закодировано. Все остальные ответы имеют значение *
для этого заголовка, а тело - текст/html. Я не устанавливаю значение Vary
в любом месте.
Я не могу понять, что вызывает это случайное поведение. Есть идеи?
FYI, я отправляю на действие ASP.NET MVC и возвращаю частичный вид.
Вы можете попробовать указать данные? кодирование происходит по умолчанию, когда браузер принимает сжатие и сервер может сжимать (как правило, сжатие gzip) ... но его возможно, что кодировка приводит к плохому преобразованию ... json обычно является utf-8 –