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)。
向后臺(tái)請求數(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前臺(tái)實(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>
后臺(tái)代碼:
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)。
向后臺(tái)請求數(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前臺(tái)實(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>
后臺(tái)代碼:
復(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)文章
深入淺析Nginx實(shí)現(xiàn)AJAX跨域請求問題
AJAX從一個(gè)域請求另一個(gè)域會(huì)有跨域的問題。那么如何在nginx上實(shí)現(xiàn)ajax跨域請求呢?此問題難住很多朋友,下面小編給大家?guī)砹薔ginx實(shí)現(xiàn)AJAX跨域請求問題的相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2016-06-06
Echarts教程之通過Ajax實(shí)現(xiàn)動(dòng)態(tài)加載折線圖的方法
這篇文章主要介紹了Echarts教程之通過Ajax實(shí)現(xiàn)動(dòng)態(tài)加載折線圖的方法,需要的朋友可以參考下2018-04-04
ajax實(shí)現(xiàn)標(biāo)簽導(dǎo)航
ajax實(shí)現(xiàn)標(biāo)簽導(dǎo)航...2006-11-11
Ajax?請求隊(duì)列解決方案并結(jié)合elementUi做全局加載狀態(tài)
這篇文章主要介紹了Ajax?請求隊(duì)列解決方案并結(jié)合elementUi做全局加載狀態(tài),使用 消息隊(duì)列 制作 請求防抖,防止重復(fù)請求印象服務(wù)器,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10
基于Ajax表單提交及后臺(tái)處理簡單的應(yīng)用
下面小編就為大家?guī)硪黄贏jax表單提交及后臺(tái)處理簡單的應(yīng)用。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09

