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

主頁 > 知識庫 > 強烈推薦-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頁的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美一区二区三区免费| 国产不卡在线视频| 91精品国产综合久久久久久久 | 丝袜美腿成人在线| 91精品午夜视频| 国产麻豆一精品一av一免费| 亚洲精品一区二区三区99| 国产精品资源站在线| 亚洲欧洲精品一区二区精品久久久 | 欧美精选一区二区| 免费欧美日韩国产三级电影| 久久网站热最新地址| 成人av电影观看| 亚洲成av人片观看| 中文字幕亚洲一区二区va在线| caoporn国产精品| 夜夜精品浪潮av一区二区三区| 91.麻豆视频| 成人丝袜视频网| 婷婷国产在线综合| 亚洲国产精品99久久久久久久久 | 91精品国产福利在线观看| 精品一区二区av| 亚洲欧洲成人av每日更新| 欧美视频一区二区三区在线观看 | 91网站在线播放| 麻豆一区二区在线| 亚洲欧美日韩一区二区| 日韩午夜激情av| 不卡视频在线看| 狠狠色综合日日| 亚洲一区二区视频在线观看| 久久女同性恋中文字幕| 欧美三级视频在线| 国产91对白在线观看九色| 午夜精品视频在线观看| 国产欧美日韩视频一区二区| 欧美精品国产精品| 99久久国产综合色|国产精品| 日本不卡中文字幕| 亚洲精品乱码久久久久久| 久久综合九色综合97婷婷| 欧美日韩国产bt| 一本一本大道香蕉久在线精品| 九九在线精品视频| 亚洲高清视频在线| 综合欧美亚洲日本| 国产欧美日韩在线观看| 日韩欧美一卡二卡| 欧美精品欧美精品系列| 97国产一区二区| 成人黄色免费短视频| 国产一区二区不卡老阿姨| 五月天丁香久久| 亚洲福利电影网| 亚洲午夜激情av| 亚洲伦在线观看| 欧美极品另类videosde| 久久这里只精品最新地址| 88在线观看91蜜桃国自产| 在线观看日产精品| 91在线观看美女| 91伊人久久大香线蕉| 成人精品小蝌蚪| 成人激情校园春色| 成人免费视频视频在线观看免费| 精品系列免费在线观看| 青青国产91久久久久久| 成人一级视频在线观看| 久久99深爱久久99精品| 老司机免费视频一区二区三区| 婷婷六月综合亚洲| 亚洲成人动漫在线观看| 一区二区成人在线观看| 亚洲精品欧美在线| 亚洲一区二区五区| 亚洲高清三级视频| 三级成人在线视频| 麻豆精品视频在线| 国产一区二区三区四区五区入口 | 欧美一级二级在线观看| 在线不卡一区二区| 91精品国产丝袜白色高跟鞋| 欧美高清视频www夜色资源网| 9191国产精品| 精品福利在线导航| 国产欧美日韩不卡| 国产精品区一区二区三区| 国产精品福利一区| 亚洲精品国久久99热| 亚洲日本电影在线| 亚洲成a人片在线观看中文| 午夜精彩视频在线观看不卡| 日本sm残虐另类| 国产精品99久久久久久似苏梦涵 | 中文字幕日韩一区| 亚洲国产中文字幕在线视频综合| 性欧美大战久久久久久久久| 免费看欧美美女黄的网站| 激情综合色综合久久| 不卡一二三区首页| 欧美精品亚洲二区| 国产三区在线成人av| 一区二区三区日韩在线观看| 青青青爽久久午夜综合久久午夜| 国产一区二区在线观看视频| 99热这里都是精品| 制服丝袜成人动漫| 国产亚洲精久久久久久| 欧美韩日一区二区三区四区| 亚洲精品高清视频在线观看| 日本91福利区| 成人一区在线观看| 911国产精品| 国产精品理论片| 日韩国产高清影视| www.亚洲色图.com| 91精品国产一区二区| 久久精品无码一区二区三区| 一区二区三区国产豹纹内裤在线| 久久国产三级精品| 在线看日本不卡| 久久在线观看免费| 天堂午夜影视日韩欧美一区二区| 国产精品一二三区| 欧美一级在线免费| 亚洲人成在线播放网站岛国 | 成人免费电影视频| 91精品中文字幕一区二区三区| 中文字幕一区二区三区不卡在线 | 26uuu亚洲综合色欧美| 亚洲一级二级三级| 成人av午夜电影| 精品国产乱码久久久久久蜜臀| 亚洲一区在线观看网站| 成人综合婷婷国产精品久久| 日韩一区二区三区视频在线观看| 亚洲女同一区二区| 国产一区二区精品久久| 欧美福利视频导航| 一区二区三区色| 99re这里只有精品6| 精品1区2区在线观看| 香蕉成人啪国产精品视频综合网| 成人ar影院免费观看视频| 26uuu另类欧美| 精品一区二区在线观看| 欧美日韩日日骚| 一区二区三区久久久| 白白色亚洲国产精品| 久久久亚洲精品石原莉奈| 精品一区二区三区av| 日韩午夜精品电影| 日韩国产欧美三级| 91精品国产综合久久久久久久| 亚洲午夜精品17c| 欧美在线一二三四区| 18成人在线观看| 99re在线精品| 亚洲精品亚洲人成人网在线播放| 99re视频精品| 亚洲免费资源在线播放| 91日韩精品一区| 亚洲欧美在线视频观看| 成人一区二区三区| 国产精品久久久久婷婷| 国产高清精品久久久久| 国产日韩欧美精品综合| 国产精品白丝av| 欧美韩国一区二区| 床上的激情91.| 中文字幕一区免费在线观看| 不卡av免费在线观看| 中文字幕第一区二区| 高清久久久久久| 日韩美女啊v在线免费观看| 不卡一区中文字幕| 亚洲欧洲国产日韩| 欧洲精品在线观看| 亚洲成va人在线观看| 日韩一区二区免费电影| 国模套图日韩精品一区二区| 国产欧美日韩不卡免费| 色域天天综合网| 婷婷中文字幕一区三区| 欧美xxxxx裸体时装秀| 国产一区二区三区在线观看免费视频 | 亚洲男人的天堂在线aⅴ视频| 91丨porny丨首页| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩视频专区在线播放| 免费成人av在线播放| 国产亚洲精品aa| 欧美亚洲丝袜传媒另类| 日韩vs国产vs欧美| 久久婷婷色综合| 91欧美一区二区| 欧美aaa在线| 中文字幕免费一区| 欧美性猛交xxxx黑人交|