學習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>
posted on 2009-10-28 11:32
becket_zheng 閱讀(166)
評論(0) 編輯 收藏 所屬分類:
網頁web前端技術