2012-01-16 5 views
2

У меня есть страница, где 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 и возвращаю частичный вид.

+0

Вы можете попробовать указать данные? кодирование происходит по умолчанию, когда браузер принимает сжатие и сервер может сжимать (как правило, сжатие gzip) ... но его возможно, что кодировка приводит к плохому преобразованию ... json обычно является utf-8 –

ответ

Смежные вопросы