日期:2014-05-17  浏览次数:20482 次

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 "];
// ....
------解决方案--------------------