$.ajax()的IE微调响应文本

IE trimming responseText of $.ajax()!

本文关键字:响应 文本 IE ajax      更新时间:2023-09-26

这是我写的一段jQuery,它读取图像的数据并向其发出警报

    var jj = $.ajax({
        url: "/app/loading.gif",
        success: function (a) {
            alert(jj.responseText);
        },
    });

在所有浏览器中,它都能正常工作,但在IE中,.responseText被修剪为9-10个字符,这是因为IE在到达不在ISO-8859中的字符时会破坏响应的字符串表示。

你知道有什么解决办法或修复方法吗?

注意事项

  • 我不能使用base64,因为它大大增加了文件大小
  • 我在上面写这个脚本的页面是一个静态HTML页面,由IIS-7.0提供服务,但问题是我需要将维护更改保持在最低限度。(由于分销原因)
  • 我希望我能从响应中读取byte[]而不是.responseText,但找不到这样做的方法
  • 或者javascript中是否有类似UnicodeString的东西,以便我可以将ajax响应映射到它

非常感谢您的帮助。

尝试添加以下内容:

contentType: "image/gif; charset=utf-8",