日期:2014-05-18 浏览次数:20460 次
ACT_AJAX_BIAOZHU + "&type=0&p1=" + biaozhula + "&p2=" + bianzhulo + "&p3=" + document.getElementById("biaozhuxinxi").value + "&p4=" + id + "&p5=" + escape(xinxi.toString())
String p1 = context.Request.Params["p1"]; String p2 = context.Request.Params["p2"]; String p3 = context.Request.Params["p3"]; String p4 = context.Request.Params["p4"]; p3 = HttpUtility.UrlDecode(context.Request.Params["p3"], Encoding.UTF8); String p5 = HttpUtility.UrlDecode(context.Request.Params["p5"], Encoding.UTF8);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
------解决方案--------------------
js 传值的时候中文需要转码。
否则 后台 取不到或是取乱了。
js 网址传参 中文转码 :
url ="&&&&?name="+encodeURI("你好");
后台直接取值即可。不需转换。
------解决方案--------------------
Var params="";
for(var i=0;i<thisform.elements.length;i++){
var elem=thisform.elements;
params+=(elem.name+"="+encodeURIComponent(elem.value.trim()));
if(i!=(thisform.elements.length-1))params+="&";
}
通过encodeURIComponent(参数)传递的值,js下用decodeURIComponent解码取值。但decodeURIComponent处理不了页面是gbk编码的urlencode()这样的数据(这个非常麻烦,好像需要对每个gbk字符专门处理才行,如果页面全部是utf-8的就没有问题了)。
后台如果是gbk编码的话,那不能直接用 urldecode()解用encodeURIComponent传递来的值,而需要转换成utf-8
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/antiking/archive/2007/04/24/1579389.aspx