国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Ajax高級筆記 JavaScript高級程序設(shè)計筆記

2024-05-06 15:15:36
字體:
供稿:網(wǎng)友

Ajax通信與數(shù)據(jù)格式無關(guān),從服務(wù)器獲取的數(shù)據(jù)不一定是XML數(shù)據(jù)。

Ajax的核心:XMLHttpRequest對象(簡稱XHR)

在XHR對象之前,Ajax通信通常使用hack手段,如使用隱藏的或內(nèi)嵌的框架。

XHR對象為向服務(wù)器發(fā)送信息和解析服務(wù)器響應(yīng)提供了流暢的接口。

1.XMLHttpRequest對象

IE5是第一款引進XHR對象的瀏覽器,通過MSXML庫中的ActiveX對象實現(xiàn)(有3個版本)。

  兼容所有瀏覽器,創(chuàng)建XHR對象:

function createXHR(){  if (typeof XMLHttpRequest != "undefined"){    return new XMLHttpRequest();  } else if (typeof ActiveXObject != "undefined"){    if (typeof arguments.callee.activeXString != "string"){      var versions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0",              "MSXML2.XMLHttp"],        i, len;        for (i=0,len=versions.length; i < len; i++){        try {          new ActiveXObject(versions[i]);          arguments.callee.activeXString = versions[i];          break;        } catch (ex){          //skip        }      }    }      return new ActiveXObject(arguments.callee.activeXString);  } else {    throw new Error("No XHR object available.");  }}

之后就能在所有瀏覽器創(chuàng)建XHR對象:var xhr = createrXHR();

2.原生XHR對象 (支持的瀏覽器: IE7+、FF、Chrome、Opera、Safari)

通過XMLHttpRequest構(gòu)建函數(shù),創(chuàng)建XHR對象:

var xhr = new XMLHttpRequest();

3.XHR用法

3-1.open()

open() 3個參數(shù): 發(fā)送的類型、請求的URL、表是否異步的布爾值

xhr.open("get","example.php", false);

①URl為相對于執(zhí)行代碼的當前頁,或絕對地址;

②false為同步,JavaScript代碼會在服務(wù)器響應(yīng)后再繼續(xù)執(zhí)行;

③調(diào)用open()只是啟動一個請求以備發(fā)送,還沒真正發(fā)送;

④只能在同個域中使用相同端口和協(xié)議的URL發(fā)送請求。

3-2.send()

send() 1個參數(shù): 請求主體發(fā)送的數(shù)據(jù),不需要通過請求主體發(fā)送數(shù)據(jù)則傳入null。

調(diào)用send()后,請求被分派到服務(wù)器。

xhr.open("get","example.php", false) ;xhr.send(null);

3-3. 收到響應(yīng)后,響應(yīng)數(shù)據(jù)會自動填充XHR對象的屬性:

responseText:作為響應(yīng)的主體被返回的文本;

responseXML:若響應(yīng)的內(nèi)容類型”text/xml”或”application/xml”,此屬性保存響應(yīng)數(shù)據(jù)XML DOM文檔

status:響應(yīng)的HTTP狀態(tài);

statusText:HTTP狀態(tài)的說明。

☆:無論什么內(nèi)容類型,響應(yīng)主體的內(nèi)容都會保存在responseText屬性中。對于非XML數(shù)據(jù),responseXML屬性值為null。
3-4.status屬性確認響應(yīng)是否成功返回

HTTP狀態(tài)代碼:

200:響應(yīng)有效,responseText屬性已就緒,內(nèi)容類型正確下的responseXML也可訪問。

304:響應(yīng)有效,只是請求的資源并為修改,可直接使用瀏覽器中緩存的版本。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 孟津县| 临颍县| 苏尼特右旗| 涞水县| 永修县| 讷河市| 祁阳县| 达日县| 肥乡县| 台东县| 府谷县| 河南省| 黔江区| 峨山| 上栗县| 萨嘎县| 新竹市| 板桥市| 黑龙江省| 莱州市| 衡阳县| 沾化县| 科技| 隆德县| 三亚市| 板桥市| 汾阳市| 章丘市| 昔阳县| 余江县| 南安市| 文昌市| 桂阳县| 苍溪县| 广水市| 泰宁县| 开江县| 习水县| 新乡县| 乌鲁木齐市| 尼玛县|