AJAX

定義:JavaScript 腳本發(fā)起 HTTP 通信(腳本發(fā)起通信)
步驟:
1.創(chuàng)建 XMLHttpRequest 實例
2.發(fā)出 HTTP 請求
3.接收服務(wù)器傳回的數(shù)據(jù)
4.更新網(wǎng)頁數(shù)據(jù)

XMLHttpRequest 實例

XMLHttpRequest對象是 AJAX 的主要接口尼斧,用于瀏覽器與服務(wù)器之間的通信枉圃。盡管名字里面有XML和Http野崇,它實際上可以使用多種協(xié)議(比如file或ftp),發(fā)送任何格式的數(shù)據(jù)(包括字符串和二進(jìn)制)静檬。

XMLHttpRequest本身是一個構(gòu)造函數(shù),可以使用new命令生成實例樱调。它沒有任何參數(shù)

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.example.com/page.php', true);

一旦新建實例洪己,就可以使用open()方法初始化 HTTP 請求頭。
指定回調(diào)函數(shù)蠢棱,監(jiān)聽通信狀態(tài)(readyState屬性)的變化

xhr.onreadystatechange = handleStateChange;

function handleStateChange() {
  // ...
}

readystate為4時表示锌杀,響應(yīng)體已經(jīng)下載成功

button.addEventListener('click', function () {
  var request = new XMLHttpRequest
  request.open('GET', 'url', true);//http方法
  request.send()
  request.onreadystatechange=()=>{console.log(request.onreadystate)}
//當(dāng)前所處的狀態(tài)改變一旦回調(diào)函數(shù)甩栈,
//當(dāng)狀態(tài)變?yōu)?的時候,即響應(yīng)完畢請求體下載成功糕再,
//這時回調(diào)函數(shù)就可以處理服務(wù)器傳送回來的數(shù)據(jù)量没。
}
  1. 設(shè)置一個狀態(tài)(如button的 click)
  2. 創(chuàng)建XMLHttpRequest對象
    3 初始化 XMLHttpRequest.open('method',''url',true)
    4 XMLHttpRequest.send()發(fā)送請求
  3. 可以通過onReadyStateChange屬性,指定這個事件的監(jiān)聽函數(shù)突想,對不同狀態(tài)進(jìn)行不同處理殴蹄。
request.onreadystatechange=()=>{
  if(request.status>=200&&request.status<=300){
      let string = request.responseText
      let object = window.JSON.parse(string)
      console.log('object.note.from')
}

下面的例子:
假設(shè)服務(wù)器返回的是JSON字符串
把從服務(wù)器接收到的符合JSON語法的字符串轉(zhuǎn)換成js中的數(shù)據(jù)類型,讓js能夠調(diào)用猾担。后端返回的只能是字符串
比如返回的是

{
  "note":{
      "from":"z",
      "to":"f"
  }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末袭灯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绑嘹,更是在濱河造成了極大的恐慌稽荧,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件圾叼,死亡現(xiàn)場離奇詭異蛤克,居然都是意外死亡,警方通過查閱死者的電腦和手機夷蚊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門构挤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惕鼓,你說我怎么就攤上這事筋现。” “怎么了箱歧?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵矾飞,是天一觀的道長。 經(jīng)常有香客問我呀邢,道長洒沦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任价淌,我火速辦了婚禮申眼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蝉衣。我一直安慰自己括尸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布病毡。 她就那樣靜靜地躺著濒翻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上有送,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天淌喻,我揣著相機與錄音,去河邊找鬼娶眷。 笑死似嗤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的届宠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼乘粒,長吁一口氣:“原來是場噩夢啊……” “哼豌注!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起灯萍,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤轧铁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后旦棉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體齿风,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年绑洛,在試婚紗的時候發(fā)現(xiàn)自己被綠了救斑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡真屯,死狀恐怖脸候,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绑蔫,我是刑警寧澤运沦,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站配深,受9級特大地震影響携添,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜篓叶,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一烈掠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧澜共,春花似錦向叉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至京革,卻和暖如春奇唤,著一層夾襖步出監(jiān)牢的瞬間幸斥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工咬扇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留甲葬,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓懈贺,卻偏偏與公主長得像经窖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子梭灿,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355