web前端頁面解決中文傳參亂碼問題

來源:互聯網
上載者:User

標籤:就會   如何   url   擷取   數字   index   截取   解碼   元素   

  問題背景:在項目中往往會涉及到前端跳轉頁面時要傳一些參數給下一個頁面,如果參數是英文或者數位時候就很好解決,然而有時候傳參會涉及到中文漢字,這個時候再單純的拼接往往就會導致中文亂碼,下面我們就該討論一下如何解決中文傳參亂碼的問題。

  假設A頁面跳轉到B頁面並且A向B傳參,首先在A頁面中要調用這個方法:encodeURI("這裡是中文參數");

  完整的拼接效果為:         

  window.location.href="B.html?&title="+encodeURI("這裡是中文參數"); 

  至此頁面中文傳參已經完成,下一步就是如何把參數給翻譯成中文,那麼再跳到B頁面進行處理。

  解碼代碼也只是一句:decodeURI("需要轉碼的連結");

  而要擷取參數,則需要分析連結並做正則匹配進行截取,全部代碼如下:  

  //截取連結傳過來的參數
  var url=window.location.href; //擷取當前頁面的url
  url = decodeURI(url);//轉碼
  var len=url.length; //擷取url的長度值
  var a=url.indexOf("?"); //擷取第一次出現?的位置下標
  var b=url.substr(a+1,len); //截取問號之後的內容
  var c=b.split("&"); //從指定的地方將字串分割成字串數組
  var arr=new Array(); //建立一個數組
  for(var i=0;i<c.length;i++){
    var d=c[i].split("=")[1]; //從=處將字串分割成字串數組,並選擇第2個元素
    arr.push(d); //將擷取的元素存入到數組中
  }

至此,前端頁面間的傳中文參數亂碼的問題就得到解決了。

web前端頁面解決中文傳參亂碼問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.