李离

立志欲坚不欲锐,成功在久不在速

解决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));

  

 

 

  

posted on 2014-09-23 09:46  PersephoneIS  阅读(277)  评论(0编辑  收藏  举报

导航