Ajax的簡單介紹

JavaScript Ajax

簡介

Ajax彩倚,Asynchronous JavaScript + XML堵未,核心是XMLHttpRequest對象。
IE7+赂苗,Chrome愉耙,F(xiàn)irefox,Safari原生支持XHR對象拌滋。

在JavaScript中一個(gè)客戶端Http請求通常有四個(gè)部分組成朴沿。

  1. Http請求方法或動(dòng)作;
  2. 正在請求的URL;
  3. 一個(gè)可選的請求頭集合赌渣,其中可能包括身份驗(yàn)證信息魏铅;
  4. 一個(gè)可選的請求主體。

一個(gè)服務(wù)端返回的HTTP響應(yīng)包含3個(gè)部分坚芜。

  1. 一個(gè)數(shù)字和文字組成的狀態(tài)碼览芳,用顯示請求的成功和失敗鸿竖;
  2. 一個(gè)響應(yīng)頭集合沧竟;
  3. 一個(gè)響應(yīng)主體。

XMLHttpRequest()使用

使用XHR建立http請求代碼示例.

var xhr = new XMLHttpRequest();
//打開http請求,第一個(gè)參數(shù) http請求的方法或動(dòng)作,第二次參數(shù)http的請求URL,第三個(gè)參數(shù)ajax是否為異步執(zhí)行缚忧。
xhr.open("get","example.php?value1=a&value2=b",false);  

// 設(shè)置可選的請求頭集合悟泵,主要包括對請求主體、當(dāng)前瀏覽器環(huán)節(jié)闪水、cookie的信息糕非。
//使用多個(gè)setRequestHeader()方法會(huì)對請求合集增加內(nèi)容。
xhr.setRequsetHeader("Content-Type","text/plain");

//設(shè)置請求主體,對于get方法參數(shù)在url中填寫,故使用null代替球榆。
xhr.send(null);

使用XHR處理服務(wù)器返回響應(yīng)

//本端代碼插入上端第10行和第1行之間朽肥。
//對XHR對象中自帶onreadyStatechange事件,添加事件函數(shù)。該事件監(jiān)聽readyState值的變化持钉。
xhr.onreadyStatechange = function(){
  //xhr.readyState表示請求或響應(yīng)過程中的活動(dòng)階段,0表示初始化鞠呈;1表示啟動(dòng);2表示發(fā)送;3表示接受;4表示完成。
  //處理服務(wù)器返回響應(yīng),在請求或響應(yīng)過程完成階段右钾。
  if(xhr.readyState == 4){
    //xhr.status表示響應(yīng)的HTTP狀態(tài)碼,200表示成功,304表示請求資源沒有修改可以使用緩存中的版本,這兩個(gè)狀態(tài)碼表示響應(yīng)有效蚁吝。
    if(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304){
      //解析響應(yīng)頭集合,識(shí)別響應(yīng)主體內(nèi)容
      var type = xhr.getResponseHeader("Content-Type");
      if(type.match(/^text/)){
        //處理響應(yīng)主體
        alert(xhr.responseText);
      }
    }
  }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市舀射,隨后出現(xiàn)的幾起案子窘茁,更是在濱河造成了極大的恐慌,老刑警劉巖脆烟,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件山林,死亡現(xiàn)場離奇詭異,居然都是意外死亡邢羔,警方通過查閱死者的電腦和手機(jī)驼抹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拜鹤,“玉大人框冀,你說我怎么就攤上這事∶舨荆” “怎么了明也?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵宣虾,是天一觀的道長。 經(jīng)常有香客問我温数,道長绣硝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任撑刺,我火速辦了婚禮鹉胖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘够傍。我一直安慰自己甫菠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布王带。 她就那樣靜靜地躺著,像睡著了一般市殷。 火紅的嫁衣襯著肌膚如雪愕撰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天醋寝,我揣著相機(jī)與錄音搞挣,去河邊找鬼。 笑死音羞,一個(gè)胖子當(dāng)著我的面吹牛囱桨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嗅绰,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼舍肠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了窘面?” 一聲冷哼從身側(cè)響起翠语,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎财边,沒想到半個(gè)月后肌括,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酣难,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年谍夭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片憨募。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡紧索,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出菜谣,到底是詐尸還是另有隱情齐板,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站甘磨,受9級(jí)特大地震影響橡羞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜济舆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一卿泽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧滋觉,春花似錦签夭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至我纪,卻和暖如春慎宾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背浅悉。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工趟据, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人术健。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓汹碱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親荞估。 傳聞我的和親對象是個(gè)殘疾皇子咳促,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容