美文网首页html/css/JavaScript基础
关于Ajax异步交互中POST乱码问题

关于Ajax异步交互中POST乱码问题

作者: RachelCT | 来源:发表于2019-02-09 10:09 被阅读0次

在用Ajax交互数据时,我们会发现发送中文字符时,GET方法运行正常,但是POST方法就会出现乱码。这是因为异步对象在处理返回的responseText的时候是按照UTF-8的编码方式进行编码的。
解决方法是在发送数据时对数据进行编码处理,然后对返回的responseText进行对应的解码获得正确的字符。在JavaScript中,推荐使用encodeURI()进行编码,而用decodeURI()进行解码。需要对发送的数据进行两次编码,对返回的数据进行一次解码。下面贴一个示例作为提示:

//编码发送的数据
encodeURI(encodeURI(queryString));
//解码接收的数据,xmlHttp是异步对象
decodeURI(xmlHttp.responseText);

经过两次编码和一次解码,POST乱码的问题就解决了。

相关文章

网友评论

    本文标题:关于Ajax异步交互中POST乱码问题

    本文链接:https://www.haomeiwen.com/subject/vfpasqtx.html