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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容