1. 程式人生 > >html 之間如何通過URL傳輸引數,並解決中文亂碼問題

html 之間如何通過URL傳輸引數,並解決中文亂碼問題

當在輸入框中輸入內容後,點選搜尋,應用就會跳轉到搜尋頁面,並傳遞了上一個頁面搜尋的內容“九”,同時搜尋關聯遊戲,

起初,如果直接通過 url?+搜尋內容,這種方法實現引數傳遞的話,當我們搜尋數字或者英文字母時,不會有問題,但是搜尋中文的時候,就會出現一堆百分號樣的搜尋資料,這就可以說是Url中傳遞中文引數亂碼。

   怎麼解決HTML介面間傳遞中文引數的亂碼問題呢?

   1.可以使用encodeURI編碼,decodeURI解碼

[javascript] view plain copy
  1. //點選搜尋
  2. $("#searchBtn").click(function(){  
  3.     var searchText= jQuery.trim($(
    ".keyword").val());  
  4.    var searchUrl =encodeURI("search.html?searchText="+searchText);   //使用encodeURI編碼
  5.    window.location.href =searchUrl;  
  6. })  

[javascript] view plain copy
  1. //獲取 上一個搜尋頁面傳來的引數
  2.      var searchUrl =window.location.href;  
  3.      var searchData =searchUrl.split("=");        //擷取 url中的“=”,獲得“=”後面的引數
  4.      var  searchText =decodeURI(searchData[1]);   //decodeURI解碼
  5.        $(".keyword1").val(searchText);            //將搜尋的資料顯示在搜尋頁面的搜尋框中
 2.還可以採用 encodeURIComponent編碼、decodeURIComponent解碼等方式編碼解碼