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);
问题就这样解决了。
本文介绍了一种在ASP.NET项目中解决通过JavaScript传递含有中文字符的参数到服务器端时出现乱码的方法。具体步骤包括在客户端使用双重encodeURI对中文参数进行编码,以及在服务器端对收到的参数进行UrlDecode解码。
906

被折叠的 条评论
为什么被折叠?



