• JockoLi   2014/12/14 12:24:00
  • 如何解决jquery URL传递中文乱码的问题?
  • 关键字: 中文乱码 URL传值 jquery
  • 从A页面通过url传参到B页面时,获取URL中参数出现中文乱码问题,解析url参数的正确方法如下,感兴趣的朋友可以参考下
    从A页面通过url传参到B页面时,解析url参数可以用下面两种方法:
    方法一:正则分析法

    1. function getQueryString(name) {   
    2. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)""i");   
    3. var r = window.location.search.substr(1).match(reg);   
    4. if (r != nullreturn unescape(r[2]); return null;   
    5. }  

    这样调用:

    1. alert(GetQueryString("参数名1"));   
    2. alert(GetQueryString("参数名2"));   
    3. alert(GetQueryString("参数名3"));   

    方法二:
    代码如下:

    1. <span style="font-size: 16px;"><Script language="javascript">   
    2. function GetRequest() {   
    3. var url = location.search; //获取url中"?"符后的字串   
    4. var theRequest = new Object();   
    5. if (url.indexOf("?") != -1) {   
    6. var str = url.substr(1);   
    7. strs = str.split("&");   
    8. for(var i = 0; i < strs.length; i ++) {   
    9. theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);   
    10. }   
    11. }   
    12. return theRequest;   
    13. }   
    14. </Script></span>   

    这样调用:
    代码如下:

    1. <Script language="javascript">   
    2. var Request = new Object();   
    3. Request = GetRequest();   
    4. var 参数1,参数2,参数3,参数N;   
    5. 参数1 = Request['参数1'];   
    6. 参数2 = Request['参数2'];   
    7. 参数3 = Request['参数3'];   
    8. 参数N = Request['参数N'];   
    9. </Script>  

    如果参数中含有中文字符,注意转编码和解码:
    代码如下:

    1. <span style="font-size:18px;">  
    2. 1.传参页面   
    3. Javascript代码:<script type=”text/javascript”>   
    4. function send(){   
    5. var url = "test01.html";   
    6. var userName = $("#userName").html();   
    7. window.open(encodeURI(url + "?userName=" + userName)); }   
    8. </script>   
    9. 2. 接收参数页面:test02.html   
    10. <script>   
    11. var urlinfo = window.location.href;//获取url   
    12. var userName = urlinfo.split(“?”)[1].split(“=”)[1];//拆分url得到”=”后面的参数   
    13. $(“#userName”).html(decodeURI(userName));   
    14. </script></span>   

大家的回答
  • 还没有人回答这个问题哦,亲,快来帮帮TA吧
  •   我来回答
  • 注册用户登录后才能发表评论,请 登录注册
  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款