jquery AJAX响应采用纯ASCII格式

时间:2011-06-14 07:20:31

标签: ajax jquery

我将一对中文字符发布到我的服务器上:

  

忠孝

然后,Web服务器将它们翻译成拼音:

  

大中小

我知道这是有效的,因为我通过直接点击我的AJAX处理程序得到了它。因此,服务器正确编码所有内容。但是,当我通过jQuery收到响应时,我得到:

  

深航&安培;#333;&ngxi放大器;#224;○

我的代码:

$.ajax({  
    type: "POST", url: 'procChineseTrans', data: 'toTrans='+text,contentType: "application/x-www-form-urlencoded; charset=UTF-8",
    complete: function(data){
        //alert(data.responseText);
        $('#street_address').val(data.responseText);
}});

我也设置了:

header('Content-Type:text/html; charset=UTF-8');

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

有没有理由我的回复是纯ASCII格式?

编辑:

检查我的响应标题,它表示它是UTF-8。但是,它仍然显示ASCII

2 个答案:

答案 0 :(得分:1)

啊哈......我明白你的问题是什么。您发回的text/html标头导致jquery将responseText解析为HTML。如果您未指定dataType选项,则jquery会根据响应标头最佳地猜测您正在播放的数据类型。

尝试将dataType : text添加到$.ajax来电中的选项中。如果可行,请考虑调整响应Content-type标题。

要进一步阅读,请在jquery手册页中搜索“dataType”:http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:1)

强制它进入html()格式化它。