Ajax通訊原理XMLHttpRequest
更新時間:2011年12月28日 22:27:21 作者:
AJAX = 異步 JavaScript 和 XML。JavaScript不用說腳本語言,XML也不用說可擴展標記語言用于存放數(shù)據(jù)信息
顯然AJax就是利用JavaScript腳本訪問數(shù)據(jù)的一種技術(shù)。
AJAX 使網(wǎng)頁實現(xiàn)異步更新。這就是在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁進行局部更新。
XMLHttpRequest 是 AJAX 的關(guān)鍵
現(xiàn)在瀏覽器均支持 XMLHttpRequest 對象(IE5 和 IE6 使用 ActiveXObject)。
向后臺請求數(shù)據(jù)readyState有五個狀態(tài)0:服務(wù)器未初始化,1:服務(wù)器連接已建立,2請求已接受收,3請求處理中,4請求完成。
每改變一次狀態(tài)都好觸發(fā)一次onreadystatechange 事件,status有兩個狀態(tài):200:“OK”,404:“未找到頁面”
下面看一段Ajax前臺實現(xiàn)代碼:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無標題頁</title>
<script type="text/javascript">
function getName(){
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
alert("你好:"+xmlhttp.responseText);
}
}
xmlhttp.open("post","Default.aspx?id=gname",true);
xmlhttp.send();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div> <input id="Button1" type="button" value="button" onclick="getName()" /></p>
</div>
</form>
</body>
</html>
后臺代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (Request["id"]!=null)
{
Response.Write("張三");
Response.End();
}
}
執(zhí)行結(jié)果:如下圖
AJAX 使網(wǎng)頁實現(xiàn)異步更新。這就是在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁進行局部更新。
XMLHttpRequest 是 AJAX 的關(guān)鍵
現(xiàn)在瀏覽器均支持 XMLHttpRequest 對象(IE5 和 IE6 使用 ActiveXObject)。
向后臺請求數(shù)據(jù)readyState有五個狀態(tài)0:服務(wù)器未初始化,1:服務(wù)器連接已建立,2請求已接受收,3請求處理中,4請求完成。
每改變一次狀態(tài)都好觸發(fā)一次onreadystatechange 事件,status有兩個狀態(tài):200:“OK”,404:“未找到頁面”
下面看一段Ajax前臺實現(xiàn)代碼:
復(fù)制代碼 代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無標題頁</title>
<script type="text/javascript">
function getName(){
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
alert("你好:"+xmlhttp.responseText);
}
}
xmlhttp.open("post","Default.aspx?id=gname",true);
xmlhttp.send();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div> <input id="Button1" type="button" value="button" onclick="getName()" /></p>
</div>
</form>
</body>
</html>
后臺代碼:
復(fù)制代碼 代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
if (Request["id"]!=null)
{
Response.Write("張三");
Response.End();
}
}
執(zhí)行結(jié)果:如下圖
您可能感興趣的文章:
- Ajax xmlHttpRequest的status的值的含義
- AJAX中同時發(fā)送多個請求XMLHttpRequest對象處理方法
- 解析ajax核心XMLHTTPRequest對象的創(chuàng)建與瀏覽器的兼容問題
- 如何用ajax來創(chuàng)建一個XMLHttpRequest對象
- ajax 入門基礎(chǔ)之 XMLHttpRequest對象總結(jié)
- AJAX入門之XMLHttpRequest慨述
- Ajax核心XMLHttpRequest總結(jié)
- AJAX(XMLHttpRequest.status)狀態(tài)碼
- XMLHttpRequest對象_Ajax異步請求重點(推薦)
- AJAX XMLHttpRequest對象詳解
- 不使用XMLHttpRequest對象實現(xiàn)Ajax效果的方法小結(jié)
相關(guān)文章
jquery中的ajax如何返回結(jié)果而非回調(diào)方式即為同順序執(zhí)行
默認ajax是異步的,也就是在未響應(yīng)到結(jié)果時不影響向下的執(zhí)行,如果非要返回結(jié)果的話,將ajax 中的參數(shù) async 改為 false,即為同順序執(zhí)行2014-05-05無限分級和tree結(jié)構(gòu)數(shù)據(jù)增刪改【附DEMO下載】
這篇文章主要介紹了無限分級和tree結(jié)構(gòu)數(shù)據(jù)增刪改的相關(guān)資料,需要的朋友可以參考下2016-05-05活到老學(xué)到老學(xué)習(xí)AJAX跨域(三)
學(xué)習(xí)AJAX其實有個很重要的應(yīng)用,就是為了執(zhí)行另外幾個站點的ASP,返回結(jié)果。通過本文給大家介紹ajax跨域相關(guān)知識,需要的朋友參考下2016-02-02AngularJS tab欄實現(xiàn)和mvc小案例實例詳解
這篇文章主要介紹了angularJS tab欄實現(xiàn)和mvc小案例,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2017-05-05