浏览器在通过AJAX加载数据时显示奇怪的字符,否则显示

时间:2010-11-05 14:48:39

标签: javascript jquery ajax

$.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 个答案:

答案 0 :(得分:1)

听起来您的服务器发送的AJAX编码与浏览器设置的编码方式不同。检查传入的AJAX的标题。