第1部分:Ajax 入门简介
生活随笔
收集整理的這篇文章主要介紹了
第1部分:Ajax 入门简介
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
AJAX應用程序所用到的基本技術:
(1)HTML技術 用于建立web表單并確定應用程序其他部分使用的字段
(2)JavaScript技術 JavaScript代碼是運行AJAX應用程序的核心代碼
一、獲取Request對象
XMLHttpRequest是AJAX應用程序的核心。由于對于不同的瀏覽器有不同的使用方法,所以獲得XMLHttpRequest對象需要采用不同
的方法。
(1)使用IE瀏覽器(對于現在的IE9不用這么判斷 已經支持new XMLHttpRequest()這種方式);
????? Microsoft瀏覽器IE使用MSXML解析器處理XML。因此如果編寫的AJAX應用程序要和IE瀏覽器打交道,那么必須用一種特殊的方式創建對象。但并不是那么簡單。根據IE中安裝的JavaScript技術版本不同,MSXML實際上有兩種不同的版本,因此必須對這兩種情況
分別編寫代碼。??????????
例如:在IE瀏覽器上創建XMLHttpRequest對象??????????
var xmlHttp=false;??????????
try{???????????????
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");??????????
}
catch(e){???????????????
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");??????????
?}catch(e2){???????????????
xmlHttp=false;??????????
}
(2)處理Mozilla和非Microsoft瀏覽器?????
如果選擇的瀏覽器不是IE,或者為非Microsoft瀏覽器編寫代碼,就需要使用不同的代碼。??????????
如: varxmlHttp=new XMLHttpRequest(); ???? 這行簡單得多的代碼在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非?
Microsoft 瀏覽器中,創建了 XMLHttpRequest 對象。
(3)結合起來 ???? 關鍵是要支持所有 瀏覽器。誰愿意編寫一個只能用于 Internet Explorer 或者非 Microsoft 瀏覽器的應用程序呢?或者更糟,要編寫一個應用程序兩次?當然不!因此代碼要同時支持 Internet Explorer 和非 Microsoft 瀏覽器。
???? 如: /* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
try {??
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {??
?try {????
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");??
} catch (e2) {????
?xmlHttp = false; ? } }
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { ? xmlHttp = new XMLHttpRequest(); }
分析:這段代碼的核心分為三步: 1.建立一個變量 xmlHttp 來引用即將創建的 XMLHttpRequest 對象。 2.嘗試在 Microsoft 瀏覽器中創建該對象: ???? 嘗試使用 Msxml2.XMLHTTP 對象創建它。 ???? 如果失敗,再嘗試 Microsoft.XMLHTTP 對象。 3.如果仍然沒有建立 xmlHttp,則以非 Microsoft 的方式創建該對象。
二、AJAX中的請求/響應?????????
AJAX應用程序中基本的流程????
?? 1.從 Web 表單中獲取需要的數據。
????????? 2.建立要連接的 URL。
????????? 3.打開到服務器的連接。
????????? 4.設置服務器在完成后要運行的函數。
????????? 5.發送請求。
(1)發出請求和處理響應????????????
function CallServer(articleName) {????????????????
var xmlHttp = GetXmlHttpRequest();????????????????
var url = "GetArticles.ashx?articleName=" + articleName;//要傳遞給誰進行處理,后臺處理程序????????????????
xmlHttp.open("GET", url, true);//第一個參數表示連接方式(有GET、POST等) 第二個參數url(后臺處理程序) 第三個參數是否異步????????????????
xmlHttp.onreadystatechange = function () {//設置服務器在完成后要運行的函數????????????????????
?if (xmlHttp.readyState == 4) {????????????????????????
document.getElementById("divArticles").innerHTML = xmlHttp.responseText; //服務器將把響應填充到 xmlHttp.responseText 屬性中 ??????????????????? } ??????????????? };????????????????
?xmlHttp.send(null); //發送請求 ??????????? }
轉載于:https://www.cnblogs.com/jiajiayouba/archive/2011/11/06/2238361.html
總結
以上是生活随笔為你收集整理的第1部分:Ajax 入门简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql2005还原出现“受限制用户”解决
- 下一篇: Android系统匿名共享内存(Anon