URL传递的参数序列化
当前端页面需要借助url来往后台传递参数的时候我们通常会这样写:
var url="base/exchangeController/1/searchExchanges?code="+code+"&name="+name;
如果你的name传递的是中文的话,在谷歌浏览器中传递到后台的数据是正常的(其他浏览器未测试),但是在IE浏览器中,后台接受到的将会是乱码,这是因为IE浏览器没有将你传递的参数序列化为URL 编码文本字符串,后台在解码你的参数的时候就会形成乱码,解决方法如下:
var param={"code":code,"name":name}; var url="base/exchangeController/1/searchExchanges"+"?"+$.param(param);
借助jquery的param方法将你要携带的参数对象化之后,再序列化一下,这样IE浏览器下即使你传递中文,后台接收到的数据也是正常的中文了。