[紧急]xmlHttp.send(args)的args参数值怎么接收?

时间:2022-04-19 13:46:21
var title=vbtrim(document.all.title.value);
var gpdm=escape(vbtrim(document.all.gpdm.value));
var url = "posttopic1.aspx";
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = updatePage;
var args = "title="+escape(title)+"&message="+escape(message)+"&gpdm="+gpdm;
xmlHttp.send(args);  


在posttopic1.aspx页面怎么接收title,message等参数的值
是用Request.Form还是Request.QuerString

12 个解决方案

#1


各位帮我顶,我现在很着急

#2


各位,帮我顶一下,谢谢

#3


var title=vbtrim(document.all.title.value);
var gpdm=escape(vbtrim(document.all.gpdm.value));
var args = "title="+escape(title)+"&message="+escape(message)+"&gpdm="+gpdm;
var url = "posttopic1.aspx?"+args;
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = updatePage;

xmlHttp.send();  



.cs 直接

string title = Request["title"];
string message = Request["message"];
//....

#4


这问题我昨天回过吧?send过去的参数你用Request.Form["*"]

#5


按我昨天写的传递方式,我一直都这样用的

#6


hertcloud(·£孙子兵法£·) 

如果数据量很大的时候是不可以的

#7


szc21(卖炭翁) 

首先感谢你

但是,我数据量很大的时候,不能用参数传递过去
只能POST

#8


郁闷
我表达不清楚?我写的就是post,

url =  ..+title="+escape(title)+"&gpdm="+gpdm; 没错吧?
把 "&message="+escape(message)提出来
放到send("message="+escape(message))这样就是post过去的,不是你用url传过去的

#9


正好有空,写了个例子

<%@ Page language="c#" Codebehind="WebForm13.aspx.cs" AutoEventWireup="false" Inherits="WebText.WebForm13" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm13</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript">
  function xmlhttp()
{
var A=null;
try
{
A=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
A=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
if (typeof XMLHttpRequest != "undefined" );
{
A=new XMLHttpRequest();
}
}
}
return A;
}
var oXmlHttp = xmlhttp();
 function getReplayResult(memo)
 {
  
 try 
{
 var filterValue=memo
    
oXmlHttp.open("POST","WebForm14.aspx",true);
oXmlHttp.setRequestHeader("content-type", "application/x-www-form-urlencoded");
oXmlHttp.send('memo='+filterValue);

oXmlHttp.onreadystatechange = function() 
  

{
if (oXmlHttp.readyState == 4 && oXmlHttp.status == 200) 
{

}
}

catch (e) 
{

}
 
 }
 function ss()
 {
   var tt=document.getElementById('memo').value;
   getReplayResult(tt);
 }
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体"><TEXTAREA style="Z-INDEX: 101; LEFT: 32px; WIDTH: 680px; POSITION: absolute; TOP: 8px; HEIGHT: 378px"
rows="23" cols="82" id="memo" name="memo">
</TEXTAREA><INPUT style="Z-INDEX: 102; LEFT: 344px; POSITION: absolute; TOP: 424px" type="button"
value="Button" onclick="ss()"></FONT>
</form>
</body>
</HTML>


WebForm14.aspx.cs

string ss=Request.Form["memo"].ToString();

我传了61.7K的字都可以

#10


谢谢,马上揭贴,谢谢

#11


顶一个

#12


引用 9 楼  的回复:
正好有空,写了个例子

<%@   Page   language= "c# "   Codebehind= "WebForm13.aspx.cs "   AutoEventWireup= "false "   Inherits= "WebText.WebForm13 "   %>
<!DOCTYPE   HTML   PUBLIC    "-//W3C//DTD   HTML   4.0……


说实话,这代码真丑。

#1


各位帮我顶,我现在很着急

#2


各位,帮我顶一下,谢谢

#3


var title=vbtrim(document.all.title.value);
var gpdm=escape(vbtrim(document.all.gpdm.value));
var args = "title="+escape(title)+"&message="+escape(message)+"&gpdm="+gpdm;
var url = "posttopic1.aspx?"+args;
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = updatePage;

xmlHttp.send();  



.cs 直接

string title = Request["title"];
string message = Request["message"];
//....

#4


这问题我昨天回过吧?send过去的参数你用Request.Form["*"]

#5


按我昨天写的传递方式,我一直都这样用的

#6


hertcloud(·£孙子兵法£·) 

如果数据量很大的时候是不可以的

#7


szc21(卖炭翁) 

首先感谢你

但是,我数据量很大的时候,不能用参数传递过去
只能POST

#8


郁闷
我表达不清楚?我写的就是post,

url =  ..+title="+escape(title)+"&gpdm="+gpdm; 没错吧?
把 "&message="+escape(message)提出来
放到send("message="+escape(message))这样就是post过去的,不是你用url传过去的

#9


正好有空,写了个例子

<%@ Page language="c#" Codebehind="WebForm13.aspx.cs" AutoEventWireup="false" Inherits="WebText.WebForm13" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm13</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript">
  function xmlhttp()
{
var A=null;
try
{
A=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
A=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
if (typeof XMLHttpRequest != "undefined" );
{
A=new XMLHttpRequest();
}
}
}
return A;
}
var oXmlHttp = xmlhttp();
 function getReplayResult(memo)
 {
  
 try 
{
 var filterValue=memo
    
oXmlHttp.open("POST","WebForm14.aspx",true);
oXmlHttp.setRequestHeader("content-type", "application/x-www-form-urlencoded");
oXmlHttp.send('memo='+filterValue);

oXmlHttp.onreadystatechange = function() 
  

{
if (oXmlHttp.readyState == 4 && oXmlHttp.status == 200) 
{

}
}

catch (e) 
{

}
 
 }
 function ss()
 {
   var tt=document.getElementById('memo').value;
   getReplayResult(tt);
 }
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体"><TEXTAREA style="Z-INDEX: 101; LEFT: 32px; WIDTH: 680px; POSITION: absolute; TOP: 8px; HEIGHT: 378px"
rows="23" cols="82" id="memo" name="memo">
</TEXTAREA><INPUT style="Z-INDEX: 102; LEFT: 344px; POSITION: absolute; TOP: 424px" type="button"
value="Button" onclick="ss()"></FONT>
</form>
</body>
</HTML>


WebForm14.aspx.cs

string ss=Request.Form["memo"].ToString();

我传了61.7K的字都可以

#10


谢谢,马上揭贴,谢谢

#11


顶一个

#12


引用 9 楼  的回复:
正好有空,写了个例子

<%@   Page   language= "c# "   Codebehind= "WebForm13.aspx.cs "   AutoEventWireup= "false "   Inherits= "WebText.WebForm13 "   %>
<!DOCTYPE   HTML   PUBLIC    "-//W3C//DTD   HTML   4.0……


说实话,这代码真丑。