AJAX如何将大量数据传输到 ASP.NET后台?高分请教。。
通过 xmlHttp.open( "GET ", url, true); 后台用Request.QueryString接受,接受的数据是乱码!
------解决方案--------------------try
post
------解决方案--------------------好象get QueryString是有长度限制.所以有乱码
------解决方案--------------------oXMLHTTP = new ActiveXObject( "MSXML2.XMLHTTP ");
var strA = " ";
oXMLHTTP.open( "POST ", "Default.aspx ",true);
oXMLHTTP.setRequestHeader( "Content-Length ",strA.length);
oXMLHTTP.setRequestHeader( "CONTENT-TYPE ", "application/x-www-form-urlencoded ");
oXMLHTTP.send(strA);
不好使的话 再用别的
------解决方案--------------------QueryString传递的长度有限,而且有中文时要出现丢失字符的问题,不推荐大数据量时使用
------解决方案--------------------常识问题。
Get的数据长度受浏览器限制,且浏览器会“智能”的为它编码(所以你得到了乱码)。一般仅用于给定少量参数,“获取”数据。
为什么不用POST?
qfkx.com友情技术支持。
------解决方案--------------------你传少点数据试试,应该是js编码的问题,在webconfig里设置下。
------解决方案--------------------统一使用utf-8编码。
js中使用escape函数对传输字符串编码。
还可以参考下.net的uri类进行解决。
------解决方案--------------------参考下.net的uri类进行解决。
------解决方案--------------------mark
------解决方案--------------------建议用POST
欢迎访问我的视频搜索引擎:
http://www.vzhangmen.com
------解决方案--------------------1.建议把查询的结果在服务器端先转换成字节流,因为字节流是不会出乱码的
然后在客户端JS接收,再将字节流转换回来
2.我试了你的程序,在我这里显示中文正常,只能说本人人品正常
3.从以上结论可以得出:要是实在解决不了,只能是LZ的RP出问题了,鉴定完毕!
------解决方案--------------------对于乱码问题这篇文章写得很清楚
http://www.cnblogs.com/sharplife/archive/2007/06/13/782384.html
反正本人照该文章中说的做法做是完全解决了乱码问题的,如果楼主不行,只能是楼上朋友最后结论说的那样了
------解决方案--------------------var url= "?aa= "+escape(你要传的字符串);
有中文的要加个escape();
------解决方案--------------------用XML格式发送就行了
------解决方案--------------------encodeURI(你要发送的字符串)解决乱码问题 后台正常取
------解决方案--------------------用Server.UrlDecode来接受
------解决方案--------------------Server.UrlDecode(Request.QueryString[ "xxxx "].ToString())
------解决方案--------------------前台要加上escape来传数据
------解决方案--------------------就是大量数据提交是用POST,那么后台怎么接受的到呢?
============
// send
// ...
xmlHttp.open( "POST ", url, false);
var reqVal = "name1=hello&name2=world&name3= " + otherBigText;
xmlHttp.send(reVal);
// receive
string name1 = Request.Forms[ "name1 "];
string name2 = Request.Forms[ "name2 "];
string name3 = Request.Forms[ "name3 "];
// ....
------解决方案--------------------