Ajax通訊原理XMLHttpRequest
更新時(shí)間:2011年12月28日 22:27:21 作者:
AJAX = 異步 JavaScript 和 XML。JavaScript不用說腳本語言,XML也不用說可擴(kuò)展標(biāo)記語言用于存放數(shù)據(jù)信息
顯然AJax就是利用JavaScript腳本訪問數(shù)據(jù)的一種技術(shù)。
AJAX 使網(wǎng)頁實(shí)現(xiàn)異步更新。這就是在不重新加載整個(gè)網(wǎng)頁的情況下,對網(wǎng)頁進(jìn)行局部更新。
XMLHttpRequest 是 AJAX 的關(guān)鍵
現(xiàn)在瀏覽器均支持 XMLHttpRequest 對象(IE5 和 IE6 使用 ActiveXObject)。
向后臺請求數(shù)據(jù)readyState有五個(gè)狀態(tài)0:服務(wù)器未初始化,1:服務(wù)器連接已建立,2請求已接受收,3請求處理中,4請求完成。
每改變一次狀態(tài)都好觸發(fā)一次onreadystatechange 事件,status有兩個(gè)狀態(tài):200:“OK”,404:“未找到頁面”
下面看一段Ajax前臺實(shí)現(xiàn)代碼:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無標(biāo)題頁</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)頁實(shí)現(xiàn)異步更新。這就是在不重新加載整個(gè)網(wǎng)頁的情況下,對網(wǎng)頁進(jìn)行局部更新。
XMLHttpRequest 是 AJAX 的關(guān)鍵
現(xiàn)在瀏覽器均支持 XMLHttpRequest 對象(IE5 和 IE6 使用 ActiveXObject)。
向后臺請求數(shù)據(jù)readyState有五個(gè)狀態(tài)0:服務(wù)器未初始化,1:服務(wù)器連接已建立,2請求已接受收,3請求處理中,4請求完成。
每改變一次狀態(tài)都好觸發(fā)一次onreadystatechange 事件,status有兩個(gè)狀態(tài):200:“OK”,404:“未找到頁面”
下面看一段Ajax前臺實(shí)現(xiàn)代碼:
復(fù)制代碼 代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無標(biāo)題頁</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中同時(shí)發(fā)送多個(gè)請求XMLHttpRequest對象處理方法
- 解析ajax核心XMLHTTPRequest對象的創(chuàng)建與瀏覽器的兼容問題
- 如何用ajax來創(chuàng)建一個(gè)XMLHttpRequest對象
- ajax 入門基礎(chǔ)之 XMLHttpRequest對象總結(jié)
- AJAX入門之XMLHttpRequest慨述
- Ajax核心XMLHttpRequest總結(jié)
- AJAX(XMLHttpRequest.status)狀態(tài)碼
- XMLHttpRequest對象_Ajax異步請求重點(diǎn)(推薦)
- AJAX XMLHttpRequest對象詳解
- 不使用XMLHttpRequest對象實(shí)現(xiàn)Ajax效果的方法小結(jié)
相關(guān)文章
jquery中的ajax如何返回結(jié)果而非回調(diào)方式即為同順序執(zhí)行
默認(rèn)ajax是異步的,也就是在未響應(yīng)到結(jié)果時(shí)不影響向下的執(zhí)行,如果非要返回結(jié)果的話,將ajax 中的參數(shù) async 改為 false,即為同順序執(zhí)行2014-05-05Ajax實(shí)現(xiàn)頁面自動刷新實(shí)例解析
AJAX 是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。接下來通過本文給大家介紹Ajax實(shí)現(xiàn)頁面自動刷新實(shí)例解析,感興趣的朋友一起看看吧2016-04-04無限分級和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其實(shí)有個(gè)很重要的應(yīng)用,就是為了執(zhí)行另外幾個(gè)站點(diǎn)的ASP,返回結(jié)果。通過本文給大家介紹ajax跨域相關(guān)知識,需要的朋友參考下2016-02-02AngularJS tab欄實(shí)現(xiàn)和mvc小案例實(shí)例詳解
這篇文章主要介紹了angularJS tab欄實(shí)現(xiàn)和mvc小案例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2017-05-05