如何使用�(引号块)修复jquery ajax响应

时间:2014-07-19 14:17:27

标签: javascript ajax encoding utf-8 utf

当我尝试从ajax请求中获取html时,我得到多个 。这是为什么以及如何纠正它?

    $.ajax
    ({
        type: 'POST',
        url: Generic.ajaxSluice,
        dataType: "html",
        data:
        {
            param: paramArr
        },
        success:function(response)
        {
            console.log(response);
        }
    });

此代码在控制台中给出了我的响应:

[[” ... 0“,”../upload/images/Untitled-2.png“],[”1“,”../ upload / images / j.png“],[”2“,”。 ./upload/images/peppe.png“],[” “]]

1 个答案:

答案 0 :(得分:1)

AJAX需要UTF-8。它甚至不是可选的。从jQuery.ajax()手册页:

  

W3C XMLHttpRequest规范规定了charset是   总是UTF-8;指定另一个字符集不会强制浏览器   改变编码

因此,您的服务器端代码需要读写UTF-8。周期。


验证服务器是否生成UTF-8的一种方法是键入已知的char(我经常使用符号)并查看是否获得了预期的字节(E2 82 AC)。要获得十六进制转储:

如果你碰巧看到很多零,你会以某种方式获得null characters。这是一个不可打印的控制代码,只应出现在二进制文件中(永远不会出现在文本中)。这揭示了一个不同的问题。