问一个关于AJAX的有关问题,希望高手帮忙
问一个关于AJAX的问题,,希望高手帮忙
就是我的传值,每次传的要是英文或者数字,就解析正确,但是一传中文,就会乱码,编码方式我也改过。
上面这是javascript的代码
然后再回调的时间里面
就是p5传过来的中文都能正常转换,但是p3传过来的就不能正常转换。。为什么啊?
请求帮助一下。。谢谢各位。。
------解决方案--------------------
就是我的传值,每次传的要是英文或者数字,就解析正确,但是一传中文,就会乱码,编码方式我也改过。
- JScript code
ACT_AJAX_BIAOZHU + "&type=0&p1=" + biaozhula + "&p2=" + bianzhulo + "&p3=" + document.getElementById("biaozhuxinxi").value + "&p4=" + id + "&p5=" + escape(xinxi.toString())
上面这是javascript的代码
然后再回调的时间里面
- C# code
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);
就是p5传过来的中文都能正常转换,但是p3传过来的就不能正常转换。。为什么啊?
请求帮助一下。。谢谢各位。。
------解决方案--------------------
- JScript code
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
本文来自****博客,转载请标明出处:http://blog.****.net/antiking/archive/2007/04/24/1579389.aspx