(C#)AJAX post方式傳值


AJAX傳值的方式有兩種,GET和POST,GET方式實際上是把數據通過地址欄傳值,比如“XX.aspx?id=.....”,這樣有兩個不足,地址欄只能有255個字符,因為通過地址欄,所以不能傳遞重要的值,安全性不高,POST方式實際上是把傳遞的值以表單的方式傳遞出去,能夠存放2G大小的數據,以下是代碼部分:


Default.aspx頁面:


單擊按鈕時,傳遞文本框的值到Default2.aspx頁面

JScript.js文件代碼(將js編譯在Default.aspx頁面):

var xmlhttp
function  ajax()
{
 if(window.XMLHttpRequest){     //   Mozilla   瀏覽器                                    //新建XMLHttpRequest對象
  xmlhttp   =   new   XMLHttpRequest();   
  }else   if   (window.ActiveXObject){   //   IE   瀏覽器   
  try{   
  xmlhttp   =   new   ActiveXObject("Msxml2.XMLHTTP");   
  }catch(e){   
  try{   
  xmlhttp   =   new   ActiveXObject("Microsoft.XMLHTTP");   
  }catch(e){}   
  }   
  }   
var text=document.getElementById("Text1").value;
  var url="text="+text;
xmlhttp.open("POST","Default2.aspx",true);                                              //規定發送的類型,文件在服務器的位置,是否異步傳送
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");            //POST方式需要的語句,形成表單
xmlhttp.send(url);                                                                                                  //發送數據,url就是要發送的傳遞值
xmlhttp.onreadystatechange=getcall;                                                                //請求完成時,引起的反應
}

function getcall()
{
if(xmlhttp.readyState==4){
if(xmlhttp.status==200)
{
alert(xmlhttp.responseText);                                                                  //測試是否發送成功,彈出返回的內容
}
}
}


在Default2.aspx頁面中接收傳遞值的句子是:Request.Form["傳遞的參數名"].ToString()


Request.Form["text"].ToString()


可以用xmlhttp.responseText來驗證發送請求是否成功,但是如果發送了請求,你再打開Default2.aspx頁面,Request.Form["   "]是NULL值的,因為發送請求實際是在head標簽增加了表單內容,再打開頁面的話,等於刷新了遍,可以把你需要執行的程序(比如刷新數據庫)放在Default2.aspx.cs的Page_Load中


有關教程,大家可以參考:http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_send.asp







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM