微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax返回json汉字问号

最近我在使用ajax请求返回json格式的数据时,出现了汉字问号的问题。

ajax返回json汉字问号

我首先检查了服务器端返回的json格式数据,发现中文并没有问题,所有的汉字都是正常的。然后我想到可能是编码的问题,于是我修改了ajax请求的contentType属性为"application/json;charset=utf-8",但结果仍然是汉字问号。

$.ajax({
    type: "GET",dataType: "json",url: "example.com",contentType: "application/json;charset=utf-8",success: function (data) {
        // do something
    },error: function (xhr,status,error) {
        // handle error
    }
});

接着,我仔细检查了一下我的JavaScript文件,发现我使用了unescape函数来解析json字符串,导致汉字被转义为问号。unescape函数在ECMAScript 3已经被废弃,因此我使用了decodeURIComponent来代替。

$.ajax({
    type: "GET",success: function (data) {
        var decodedData = JSON.parse(decodeURIComponent(JSON.stringify(data)));
        // do something with decodedData
    },error) {
        // handle error
    }
});

最后,我成功解决了ajax返回json汉字问号的问题,感觉收获颇丰!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐