校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 強烈推薦-ajax開發者必看的文章第1/3頁

強烈推薦-ajax開發者必看的文章第1/3頁

熱門標簽:許昌智能電銷機器人公司 海南銀行智能外呼系統商家 辰溪地圖標注 澳大利亞城市地圖標注 遼寧正規電銷機器人 上海浦東騰訊地圖標注位置 電銷機器人違法了嗎 遼寧銀行智能外呼系統 姜堰電銷機器人

七、AJAX開發
  到這里,已經可以清楚的知道AJAX是什么,AJAX能做什么,AJAX什么地方不好。如果你覺得AJAX真的能給你的開發工作帶來改進的話,那么繼續看看怎么使用AJAX吧。

7.1、AJAX應用到的技術
  AJAX涉及到的7項技術中,個人認為Javascript、XMLHttpRequest、DOM、XML比較有用。

A、XMLHttpRequest對象
  XMLHttpRequest是XMLHTTP組件的對象,通過這個對象,AJAX可以像桌面應用程序一樣只同服務器進行數據層面的交換,而不用每次都刷新界面,也不用每次將數據處理的工作都交給服務器來做;這樣既減輕了服務器負擔又加快了響應速度、縮短了用戶等待的時間。

  IE5.0開始,開發人員可以在Web頁面內部使用XMLHTTP ActiveX組件擴展自身的功能,不用從當前的Web頁面導航就可以直接傳輸數據到服務器或者從服務器接收數據。,Mozilla1.0以及NetScape7則是創建繼承XML的代理類XMLHttpRequest;對于大多數情況,XMLHttpRequest對象和XMLHTTP組件很相似,方法和屬性類似,只是部分屬性不同。

XMLHttpRequest對象初始化:
script language=”javascript”>
var http_request = false;
//IE瀏覽器
http_request = new ActiveXObject("Msxml2.XMLHTTP");
http_request = new ActiveXObject("Microsoft.XMLHTTP");
//Mozilla瀏覽器
http_request = new XMLHttpRequest();
/script>

  XMLHttpRequest對象的方法:

方法 描述
abort()

停止當前請求

getAllResponseHeaders()

作為字符串返回完整的headers

getResponseHeader("headerLabel")

作為字符串返回單個的header標簽

open("method","URL"[,asyncFlag[,"userName"[, "password"]]]) 設置未決的請求的目標 URL,方法,和其他參數
send(content) 發送請求
setRequestHeader("label", "value") 設置header并和請求一起發送

  XMLHttpRequest對象的屬性:

屬性 描述
onreadystatechange 狀態改變的事件觸發器
readyState 對象狀態(integer):

 


0 = 未初始化
1 = 讀取中
2 = 已讀取
3 = 交互中
4 = 完成
responseText 服務器進程返回數據的文本版本
responseXML 服務器進程返回數據的兼容DOM的XML文檔對象
status 服務器返回的狀態碼, 如:404 = "文件未找到" 、200 ="成功"
statusText 服務器返回的狀態文本信息

B、Javascript
   Javascript一直被定位為客戶端的腳本語言,應用最多的地方是表單數據的校驗?,F在,可以通過Javascript操作XMLHttpRequest,來跟數據庫打交道。

C、DOM
   DOM(Document Object Model)是提供給HTML和XML使用的一組API,提供了文件的表述結構,并可以利用它改變其中的內容和可見物。腳本語言通過DOM才可以跟頁面進行交互。Web開發人員可操作及建立文件的屬性、方法以及事件都以對象來展現。比如,document就代表頁面對象本身。

D、XML
  通過XML(Extensible Markup Language),可以規范的定義結構化數據,是網上傳輸的數據和文檔符合統一的標準。用XML表述的數據和文檔,可以很容易的讓所有程序共享。

7.2、AJAX開發框架
  這里,我們通過一步步的解析,來形成一個發送和接收XMLHttpRequest請求的程序框架。AJAX實質上也是遵循Request/Server模式,所以這個框架基本的流程也是:對象初始化à發送請求à服務器接收à服務器返回à客戶端接收à修改客戶端頁面內容。只不過這個過程是異步的。

A、初始化對象并發出XMLHttpRequest請求
  為了讓Javascript可以向服務器發送HTTP請求,必須使用XMLHttpRequest對象。使用之前,要先將XMLHttpRequest對象實例化。之前說過,各個瀏覽器對這個實例化過程實現不同。IE以ActiveX控件的形式提供,而Mozilla等瀏覽器則直接以XMLHttpRequest類的形式提供。為了讓編寫的程序能夠跨瀏覽器運行,要這樣寫:
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}

  有些版本的Mozilla瀏覽器處理服務器返回的未包含XML mime-type頭部信息的內容時會出錯。因此,要確保返回的內容包含text/xml信息。

http_request = new XMLHttpRequest();
http_request.overrideMimeType('text/xml');
B、指定響應處理函數
  接下來要指定當服務器返回信息時客戶端的處理方式。只要將相應的處理函數名稱賦給XMLHttpRequest對象的onreadystatechange屬性就可以了。比如:

 

http_request.onreadystatechange = processRequest;

  需要指出的時,這個函數名稱不加括號,不指定參數。也可以用Javascript即時定義函數的方式定義響應函數。比如:

http_request.onreadystatechange = function() { };

C、發出HTTP請求 

  指定響應處理函數之后,就可以向服務器發出HTTP請求了。這一步調用XMLHttpRequest對象的open和send方法。

http_request.open('GET', 'http://www.example.org/some.file', true);
http_request.send(null);

  open的第一個參數是HTTP請求的方法,為Get、Post或者Head。

  open的第二個參數是目標URL。基于安全考慮,這個URL只能是同網域的,否則會提示“沒有權限”的錯誤。這個URL可以是任何的URL,包括需要服務器解釋執行的頁面,不僅僅是靜態頁面。目標URL處理請求XMLHttpRequest請求則跟處理普通的HTTP請求一樣,比如JSP可以用request.getParameter(“”)或者request.getAttribute(“”)來取得URL參數值。

  open的第三個參數只是指定在等待服務器返回信息的時間內是否繼續執行下面的代碼。如果為True,則不會繼續執行,直到服務器返回信息。默認為True。

  按照順序,open調用完畢之后要調用send方法。send的參數如果是以Post方式發出的話,可以是任何想傳給服務器的內容。不過,跟form一樣,如果要傳文件或者Post內容給服務器,必須先調用setRequestHeader方法,修改MIME類別。如下:

http_request.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”);

  這時資料則以查詢字符串的形式列出,作為sned的參數,例如:

name=valueanothername=othervalueso=on
D、處理服務器返回的信息
  在第二步我們已經指定了響應處理函數,這一步,來看看這個響應處理函數都應該做什么。

  首先,它要檢查XMLHttpRequest對象的readyState值,判斷請求目前的狀態。參照前文的屬性表可以知道,readyState值為4的時候,代表服務器已經傳回所有的信息,可以開始處理信息并更新頁面內容了。如下:

if (http_request.readyState == 4) {
// 信息已經返回,可以開始處理
} else {
// 信息還沒有返回,等待
}

  服務器返回信息后,還需要判斷返回的HTTP狀態碼,確定返回的頁面沒有錯誤。所有的狀態碼都可以在W3C的官方網站上查到。其中,200代表頁面正常。

if (http_request.status == 200) {
// 頁面正常,可以開始處理信息
} else {
// 頁面有問題
}

  XMLHttpRequest對成功返回的信息有兩種處理方式:
   responseText:將傳回的信息當字符串使用;
   responseXML:將傳回的信息當XML文檔使用,可以用DOM處理。

E、一個初步的開發框架
  總結上面的步驟,我們整理出一個初步的可用的開發框架,供以后調用;這里,將服務器返回的信息用window.alert以字符串的形式顯示出來:
script language="javascript">
var http_request = false;
function send_request(url) {//初始化、指定處理函數、發送請求的函數
http_request = false;
//開始初始化XMLHttpRequest對象
if(window.XMLHttpRequest) { //Mozilla 瀏覽器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//設置MiME類別
http_request.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE瀏覽器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 異常,創建對象實例失敗
window.alert("不能創建XMLHttpRequest對象實例.");
return false;
}
http_request.onreadystatechange = processRequest;
// 確定發送請求的方式和URL以及是否同步執行下段代碼
http_request.open("GET", url, true);
http_request.send(null);
}
// 處理返回信息的函數
function processRequest() {
if (http_request.readyState == 4) { // 判斷對象狀態
if (http_request.status == 200) { // 信息已經成功返回,開始處理信息
alert(http_request.responseText);
} else { //頁面不正常
alert("您所請求的頁面有異常。");
}
}
}
/script>
7.3、簡單的示例
  接下來,我們利用上面的開發框架來做兩個簡單的應用。

A、數據校驗
  在用戶注冊的表單中,經常碰到要檢驗待注冊的用戶名是否唯一。傳統的做法是采用window.open的彈出窗口,或者window. showModalDialog的對話框。不過,這兩個都需要打開窗口。采用AJAX后,采用異步方式直接將參數提交到服務器,用window.alert將服務器返回的校驗信息顯示出來。代碼如下:

  在body>/body>之間增加一段form表單代碼:

form name="form1" action="" method="post">
用戶名:input type="text" name="username" value="">nbsp;
input type="button" name="check" value="唯一性檢查" onClick="userCheck()">
input type="submit" name="submit" value="提交">
/form>

  在開發框架的基礎上再增加一個調用函數:

function userCheck() {
var f = document.form1;
var username = f.username.value;
if(username=="") {
window.alert("用戶名不能為空。");
f.username.focus();
return false;
}
else {
send_request('sample1_2.jsp?username='+username);
}
}

  看看sample1_2.jsp做了什么:

%@ page contentType="text/html; charset=gb2312" errorPage="" %>
%
String username = request.getParameter("username");
if("educhina".equals(username)) out.print("用戶名已經被注冊,請更換一個用戶名。");
else out.print("用戶名尚未被使用,您可以繼續。");
%>

  運行一下,嗯,沒有彈出窗口,沒有頁面刷新,跟預想的效果一樣。如果需要的話,可以在sample1_2.jsp中實現更復雜的功能。最后,只要將反饋信息打印出來就可以了。


B、級聯菜單
  我們在第五部分提到利用AJAX改進級聯菜單的設計。接下來,我們就演示一下如何“按需取數據”。

  首先,在body>/body>中間增加如下HTML代碼:

table width="200" border="0" cellspacing="0" cellpadding="0">
tr>
td height="20">
a href="javascript:void(0)" onClick="showRoles('pos_1')">經理室/a>
/td>
/tr>
tr style="display:none">
td height="20" id="pos_1"> /td>
/tr>
tr>
td height="20">
a href="javascript:void(0)" onClick="showRoles('pos_2')">開發部/a>
/td>
/tr>
tr style="display:none ">
td id="pos_2" height="20"> /td>
/tr>
/table>

  在框架的基礎上增加一個響應函數showRoles(obj):

//顯示部門下的崗位
function showRoles(obj) {
document.getElementById(obj).parentNode.style.display = "";
document.getElementById(obj).innerHTML = "正在讀取數據..."
currentPos = obj;
send_request("sample2_2.jsp?playPos="+obj);
}

  修改框架的processRequest函數:

// 處理返回信息的函數
function processRequest() {
if (http_request.readyState == 4) { // 判斷對象狀態
if (http_request.status == 200) { // 信息已經成功返回,開始處理信息
document.getElementById(currentPos).innerHTML = http_request.responseText;
} else { //頁面不正常
alert("您所請求的頁面有異常。");
}
}
}

  最后就是smaple2_2.jsp了:

%@ page contentType="text/html; charset=gb2312" errorPage="" %>
%
String playPos = request.getParameter("playPos"); if("pos_1".equals(playPos)) out.print("nbsp;nbsp;總經理br>nbsp;nbsp;副總經理"); else if("pos_2".equals(playPos)) out.println("nbsp;nbsp;總工程師br>nbsp;nbsp;軟件工程師");
%>

  運行一下看看效果:

7.4、文檔對象模型(DOM)
  文檔對象模型(DOM)是表示文檔(比如HTML和XML)和訪問、操作構成文檔的各種元素的應用程序接口(API)。一般的,支持Javascript的所有瀏覽器都支持DOM。本文所涉及的DOM,是指W3C定義的標準的文檔對象模型,它以樹形結構表示HTML和XML文檔,定義了遍歷這個樹和檢查、修改樹的節點的方法和屬性。
123下一頁閱讀全文

標簽:崇左 晉城 伊春 西藏 撫州 威海 銅川 深圳

巨人網絡通訊聲明:本文標題《強烈推薦-ajax開發者必看的文章第1/3頁》,本文關鍵詞  強烈,推薦,-ajax,開發者,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《強烈推薦-ajax開發者必看的文章第1/3頁》相關的同類信息!
  • 本頁收集關于強烈推薦-ajax開發者必看的文章第1/3頁的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久精品国产99| 一区二区三区免费网站| 欧美日韩一区二区电影| 91成人国产精品| 色噜噜偷拍精品综合在线| 91一区一区三区| 91黄视频在线| 欧美日韩国产片| 91精品国模一区二区三区| 91 com成人网| 日韩一区国产二区欧美三区| 91精品国产色综合久久| 日韩一区二区三区四区五区六区 | 国产乱码精品一区二区三区五月婷 | 亚洲精品一区二区三区99| 精品久久五月天| 久久久久久麻豆| 亚洲欧美日韩久久| 亚洲国产精品一区二区久久恐怖片| 亚洲国产一区二区三区青草影视| 亚洲国产精品综合小说图片区| 日韩精品91亚洲二区在线观看| 狠狠色丁香婷婷综合久久片| 成人午夜视频在线观看| 91精彩视频在线观看| 欧美高清精品3d| 国产欧美日韩激情| 亚洲最新在线观看| 久久99精品久久久久久国产越南 | 亚洲日本电影在线| 亚洲国产精品视频| 国产一区二区三区观看| 色婷婷精品大视频在线蜜桃视频| 911精品国产一区二区在线| 国产三级欧美三级日产三级99| 亚洲精品福利视频网站| 久久疯狂做爰流白浆xx| www.久久精品| 欧美大片在线观看| 亚洲精品写真福利| 国产一区二区三区高清播放| 欧美三电影在线| 中文字幕的久久| 麻豆成人久久精品二区三区小说| 91免费观看国产| 久久老女人爱爱| 天堂va蜜桃一区二区三区 | 一区二区三区精密机械公司| 另类小说一区二区三区| 91成人在线观看喷潮| 国产女人aaa级久久久级| 日韩精品乱码免费| 色欧美片视频在线观看| 久久九九全国免费| 久草在线在线精品观看| 欧美区在线观看| 亚洲欧美另类小说视频| jiyouzz国产精品久久| 精品剧情在线观看| 蜜臀91精品一区二区三区 | 91精品国产综合久久久蜜臀粉嫩| 亚洲视频免费观看| 成人免费视频国产在线观看| 2023国产精品| 久久精品久久综合| 在线不卡a资源高清| 一区二区三区成人在线视频| 岛国精品在线播放| 国产欧美一区二区三区在线老狼| 奇米一区二区三区| 欧美精品日日鲁夜夜添| 一区二区三区日韩在线观看| 99久久久国产精品| 亚洲欧美自拍偷拍色图| 91免费在线播放| 国产精品久久久久一区| 国产91精品一区二区麻豆网站| 欧美成人女星排名| 精品在线亚洲视频| 久久蜜臀精品av| 成人午夜激情片| 亚洲欧美国产77777| 91免费看`日韩一区二区| 一区二区日韩av| 欧美视频一区二| 天堂影院一区二区| 日韩精品一区二区三区swag | 中文字幕日韩一区| 99久精品国产| 亚洲制服丝袜一区| 欧美精品在线一区二区三区| 久久精品二区亚洲w码| 国产三级三级三级精品8ⅰ区| 99久久99久久精品免费观看| 亚洲色图在线播放| 欧美人成免费网站| 国产一区二区在线视频| 中文字幕在线不卡| 色94色欧美sute亚洲线路一ni| 亚洲午夜一区二区三区| 欧美xxx久久| av不卡一区二区三区| 亚洲成人激情av| xf在线a精品一区二区视频网站| 国产成人精品影院| 亚洲成人综合网站| 国产亚洲精品超碰| 欧美日韩在线三级| 精一区二区三区| 综合久久给合久久狠狠狠97色 | 精品一区二区三区久久| 亚洲色图.com| 91精品国产日韩91久久久久久| 国产一区欧美一区| 亚洲一区二区三区不卡国产欧美| 欧美va天堂va视频va在线| 99国产精品国产精品毛片| 日韩黄色小视频| 亚洲美女偷拍久久| 久久蜜桃一区二区| 欧美日韩一区二区三区免费看| 国产成人在线观看| 日韩中文字幕区一区有砖一区| 国产人成亚洲第一网站在线播放| 欧美日韩在线播放一区| 国产aⅴ综合色| 久久精品噜噜噜成人av农村| 亚洲综合成人在线| 中文字幕巨乱亚洲| 精品国产百合女同互慰| 欧美日韩黄视频| 91丝袜高跟美女视频| 国产精品系列在线播放| 蜜桃视频一区二区三区在线观看| 亚洲精品国产无天堂网2021 | 亚洲国产成人tv| 欧美国产精品久久| 久久亚洲综合色一区二区三区| 欧美精品第1页| 欧美日韩综合在线免费观看| 91麻豆福利精品推荐| 成人福利视频在线| 国产成人av一区二区三区在线| 美女视频黄久久| 久久精品噜噜噜成人av农村| 蜜臀av性久久久久蜜臀aⅴ四虎| 五月天激情综合网| 亚洲国产日日夜夜| 亚洲一区在线观看免费| 樱花影视一区二区| 一区二区三区中文字幕| 亚洲黄色在线视频| 一区二区三区久久久| 一区二区三区四区视频精品免费| 亚洲丝袜美腿综合| 亚洲欧美日本韩国| 亚洲综合色噜噜狠狠| 亚洲午夜久久久久中文字幕久| 亚洲免费观看在线视频| 亚洲网友自拍偷拍| 日韩主播视频在线| 捆绑变态av一区二区三区| 狠狠色丁香久久婷婷综| 国产乱人伦精品一区二区在线观看 | 一区二区三区国产精华| 亚洲成人免费看| 日韩高清在线电影| 激情深爱一区二区| 从欧美一区二区三区| 91女厕偷拍女厕偷拍高清| 精品视频全国免费看| 日韩美女在线视频| 欧美激情在线一区二区三区| 国产精品电影一区二区三区| 亚洲猫色日本管| 蜜桃久久久久久久| 成人黄动漫网站免费app| 欧美视频第二页| 91精品婷婷国产综合久久| 久久这里只有精品6| 国产精品久久久一本精品| 亚洲午夜久久久| 美女视频黄 久久| hitomi一区二区三区精品| 欧美日韩国产综合视频在线观看| 欧美高清精品3d| 国产日本欧洲亚洲| 亚洲第一电影网| 粉嫩蜜臀av国产精品网站| 一本到不卡免费一区二区| 欧美一区二区三区四区在线观看| 亚洲国产精品黑人久久久| 久久99国产精品尤物| 91一区一区三区| 日韩欧美国产小视频| 一区二区三区成人在线视频| 国产黄色成人av| 欧美一区2区视频在线观看| 中文字幕一区二区三区在线观看| 日本va欧美va欧美va精品|