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浏览器下即使你传递中文,后台接收到的数据也是正常的中文了。

posted @ 2013-04-12 10:06  白白的技术千千的生活  阅读(3595)  评论(1编辑  收藏  举报