1. 程式人生 > >asp.net 解決js傳遞引數時,url漢字亂碼的問題

asp.net 解決js傳遞引數時,url漢字亂碼的問題

今天寫程式,用jquery進行提交資料,其中路徑中有中文引數,在js中alert出來是中文,但是提交到伺服器端就變成了亂碼。導致問題出現的原因是編碼。
在我的程式中,jquery用這樣的形式去伺服器請求資料:
      $.get("users.aspx?name="+name,null,function(data){
            $("#result").html(data);
        });
用過jquery或者瞭解過ajax的都明白,這是使用jquery進行ajax操作時在js中寫的伺服器端請求,引數name中包含中文,就是這個引數提交到伺服器端出現了亂碼。
解決辦法是:
     $.get("users.aspx?name="encodeURl(encodeURL(uaerName)),null,function(data)){
            $("#result").html(data);
        });
對name進行雙重encodeURI編碼。到伺服器端之後:
      String username= request["name"].ToString(); 
      username=Server.UrlDecode(username);
問題就這樣解決了。