返回ajax中的纯文本,标点符号问题

时间:2013-11-21 08:43:55

标签: html ajax non-ascii-characters

我必须从服务器返回从文件中获取的纯文本并显示在我的网页中。

我用ajax得到的文件很好,但我有重音问题,因为它是西班牙语,我有特殊的字符,如á,é,í......

而不是那样,我在里面有审讯标记。

txt文件有正确的符号,我在里面看得很清楚。

这就是我获取和显示文件的方式:

$.when(

   $.ajax({
                 type: "POST",
                 url: urlServer+"openDocument.php",
                 contentType: "application/text; charset=utf-8",
                 dataType: "text",
                 success: function(response) {
                     respuesta = response;
                 },

                 error: function(xhr, status, message) { alert("Status: " + status + "\nsaveDocument: " + message); }
                 })


                 ).then(function(){
                     //console.log(respuesta);
                    document.getElementById("divInfo").innerHTML = respuesta;
                 }
    );

1 个答案:

答案 0 :(得分:0)

dataType:

您期望从服务器返回的数据类型。

contentType:

将数据发送到服务器时,请使用此内容类型。默认值为"application/x-www-form-urlencoded; charset=UTF-8",对大多数情况都适用。如果您明确地将内容类型传递给$ .ajax(),那么它总是被发送到服务器(即使没有数据发送)。 W3C XMLHttpRequest规范规定charset始终为UTF-8;,指定另一个charset不会强制浏览器更改编码。

您的dataType错了。默认值为:Intelligent Guess,其他可用类型为(xml, json, script, or html)。在你的情况下它应该是html。 阅读更多here