none
求助:用XMLHttpRequest发送数据问题? RRS feed

  • 问题

  • 代码如下:

    var request = new XMLHttpRequest();
          request.open("post","default.aspx",false);

           request.send("test1=hello");

          if (request.status == 200){
               //alert(request.responseText);
               $("saveDiv").innerText = request.responseText;
           }
           else
               alert("Error " + request.status + ": " + request.statusText);


    请问:send方法中的参数写法有问题没有,在服务器端怎样读取数据呢?
    2009年2月21日 16:58

答案

  • 你代码写的有问题吧。下面是一个完整的例子
    <%@ Page Language="C#" %> 
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     
    <script runat="server">  
     
      protected void Page_Load(object sender, EventArgs e)  
      {  
        if (Request.RequestType == "POST")  
        {  
          Response.ClearContent();  
          Response.Write(Request.Form["test1"]);  
          Response.End();  
        }  
      }  
    </script> 
     
    <script type="text/javascript">  
      var data = "test1=hello" 
      var request = null;  
      if (window.XMLHttpRequest) {  
        request = new XMLHttpRequest();  
      } else if (window.ActiveXObject) {  
        request = new ActiveXObject("Msxml2.XMLHTTP");  
      }  
      request.open("post", "default.aspx", false);  
      request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
      request.setRequestHeader("Content-length", data.length); //可以不加,考虑兼容性,最好加上  
      request.setRequestHeader("Connection", "close"); //ff需要  
      request.send(data);  
      if (request.status == 200) {  
        alert(request.responseText);  
      }  
    </script> 
     
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head id="Head1" runat="server">  
      <title></title>  
    </head> 
    <body> 
      <form id="form1" runat="server">  
      </form> 
    </body> 
    </html> 
     

    孟宪会
    • 已标记为答案 翰彬 2009年2月22日 15:19
    2009年2月22日 7:17
    版主

全部回复

  • Request.Form["test1"];
    或者
    Request.Params.Get("test1");

    post数据要加
    var data = "test1=hello"
    var request = new XMLHttpRequest();
    request.open("post","default.aspx",false);
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    request.setRequestHeader("Content-length", data.length); //可以不加,考虑兼容性,最好加上
    request.setRequestHeader("Connection", "close"); //ff需要
    request.send(data);

    孟宪会
    2009年2月22日 1:25
    版主
  •   怎么在服务器页面还是无法获取send()方法中的参数值呀?
    2009年2月22日 6:25
  • 你代码写的有问题吧。下面是一个完整的例子
    <%@ Page Language="C#" %> 
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     
    <script runat="server">  
     
      protected void Page_Load(object sender, EventArgs e)  
      {  
        if (Request.RequestType == "POST")  
        {  
          Response.ClearContent();  
          Response.Write(Request.Form["test1"]);  
          Response.End();  
        }  
      }  
    </script> 
     
    <script type="text/javascript">  
      var data = "test1=hello" 
      var request = null;  
      if (window.XMLHttpRequest) {  
        request = new XMLHttpRequest();  
      } else if (window.ActiveXObject) {  
        request = new ActiveXObject("Msxml2.XMLHTTP");  
      }  
      request.open("post", "default.aspx", false);  
      request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
      request.setRequestHeader("Content-length", data.length); //可以不加,考虑兼容性,最好加上  
      request.setRequestHeader("Connection", "close"); //ff需要  
      request.send(data);  
      if (request.status == 200) {  
        alert(request.responseText);  
      }  
    </script> 
     
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head id="Head1" runat="server">  
      <title></title>  
    </head> 
    <body> 
      <form id="form1" runat="server">  
      </form> 
    </body> 
    </html> 
     

    孟宪会
    • 已标记为答案 翰彬 2009年2月22日 15:19
    2009年2月22日 7:17
    版主