解决JQuery.ajax.post乱码问题

时间:2023-03-09 05:34:58
解决JQuery.ajax.post乱码问题

问题:昨天在进行项目功能实现时,利用了$.ajax吧数据post给服务,接着保存到cookie中,而数据中是带有中文的

我的post代码:

 comCarId=encodeURIComponent(comCarId);
$.ajax({
type: "POST",
url: "/Car/AddCarId",
data: { carID: comCarId },
dataType: "json",
success: function (data) {}
});

  在post之前,我的data参数中的数据comCarId并没有进行编码的转换,post到服务端就出现了乱码

  解决方法:利用javascript中的函数comCarId=encodeURIComponent(comCarId)对comCarId进行编码,然后post给服务端存入cookie

  取值:取cookie值,cookie值取出来的是编码后的数据,所以我们利用decodeURIComponent(cookie)进行解码,但是只用一次解码时确发现cookie的值是encodeURIComponent编码之后的值,并不是想要的中文数据,因此再次利用decodeURIComponent进行解码,也就是所谓的2次解码(decodeURIComponent(decodeURIComponent(cookie)))

从服务端取回来的数据,在客户端展示:

var str = decodeURIComponent(decodeURIComponent(cookie));