Браузер отображает странные символы при загрузке данных через AJAX, а не иначе - PullRequest
0 голосов
/ 05 ноября 2010
$.get("/ajax-terms.asp", function(d){
    $("#wrap-terms").html(d);
})

Когда данные терминов включаются непосредственно в документ с помощью «Response.Write», все отображается правильно, включая следующие символы: и

Когда я запрашиваю те же данные через AJAX, сервер возвращает странные символы (или сервер может отправлять правильные данные, но браузер отображает их неправильно). Это странный символ:

Есть ли обходной путь?

Редактировать: Вот заголовки для страницы контейнера:

GET /register.html

Host: ********.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: ********

Date: Sat, 06 Nov 2010 06:08:45 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 38317
Content-Type: text/html
Cache-Control: private

Страница контейнера содержит эту строку:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Это запрос jQuery / Ajax, запущенный страницей контейнера:

$.get("/ajax-terms.asp", function(d){
    $("body").append(d);
})

Вот что я получаю:

GET /ajax-terms.asp

Host: ********.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
X-Requested-With: XMLHttpRequest
Referer: http://********.com/register.html
Cookie: ********

Date: Sat, 06 Nov 2010 06:12:53 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 23436
Content-Type: text/html
Cache-Control: private

Кажется, что ответ правильно содержит и , но не уверен, почему он отображается как .

1 Ответ

1 голос
/ 05 ноября 2010

Похоже, что AJAX, отправляемый вашим сервером, кодируется не так, как в браузере.Проверьте заголовки для входящего AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...