學習Ajax教程,詳細瞭解Get與Post
Get方式:
作用:可傳送簡單資料
大小:url最大長度是2083 bytes,可以用於GET傳遞資料的長度是2048 bytes
包含體:資料追加到url中發送,也就是http的header傳送
Post方式:
作用:可傳送簡單複雜資料
大小:web.config裡限制
包含體:資料在http請求的實體內容裡傳送
Ajax用Post模式傳送資料.需注意:
1.設定header的Context-Type為application/x-www-form-urlencode確保伺服器知道實體中有參數變數.通常使用XmlHttpRequest對象的
SetRequestHeader("Context-Type","application/x-www-form-urlencoded;")
2.參數是名/值一一對應的索引值對,每對值用&號隔開.如 name=abc&sex=man&age=18.
3.參數在Send(參數)方法中發送
4.伺服器端請求參數區分Get與Post.例如asp.net中以Request.Form["name"]對實體中的參數請求.這時url參數請求Request.QueryString["name"]將引發異常
<javascript type="text/javascript" language="javascript" >
function CreateXmlHttp()
{
if(window.ActiveXObject)
{
return new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
return new XmlHttpRequest();
}
}
//---------------------------------------------------------------------------------------------------------------------
//post方式:
function Start()
{
var ParamString = "name=abc&sex=man&age=18";
var XmlHttpObject = CreateXmlHttp();
XmlHttpObject.onreadystatechange = StateEvent;
XmlHttpObject.open("post","test.aspx",true);
XmlHttpObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded;"); //設定伺服器響應請求體參數
XmlHttpObject.send(ParamString);
}
//---------------------------------------------------------------------------------------------------------------------
//get方式:
function Start()
{
var XmlHttpObject = CreateXmlHttp();
XmlHttpObject.onreadystatechange = StateEvent;
XmlHttpObject.open("get",url,true);
XmlHttpObject.send(null);
}
//---------------------------------------------------------------------------------------------------------------------
//建立回呼函數
function StateEvent()
{
if(http_request.readyState==4)//伺服器響應狀態
{
if(http_request.status==200|| http_request.status == 304)//代碼執行狀態
{
var resStr=http_request.responseText;
alert(resStr);//這裡再處商務邏輯處理
}
else
{
alert("您所請求的頁面有異常!");
}
}
else
{
selectedResTits.innerHTML="<img src='images/wjb/icons/indicator.gif' alt=''/>";
}
}
</script>