Ajax知識梳理

2022-03-09 11:51:06 字數 1279 閱讀 5814

ajax技術的核心是xmlhttprequest物件,簡稱xhr。

xhr最早由ie引入並實現,原生的xhr僅支援ie7以上版本。如果要相容ie6,需作另外處理(activexobject物件)。

1、簡單ajax函式的封裝:

function ajax( method , url , data )

else

if( method.tolowercase() = "get" )

xhr.open( method , url ,true );

xhr.onreadystatechange = function()else}}

if( method.tolowercase() = "get")

else

}

2、xhr的用法

xhr.open():呼叫open()方法並不會真正傳送請求。

引數:請求型別 , 請求url , 是否非同步請求。

xhr.send(): 呼叫send()方法後,請求會被分發到伺服器。

引數:如果不需要傳送資料,則必須傳入null。    //對某些瀏覽器是必須的。

xhr.readystate:表示請求/響應過程中的當前活動階段。值為0 1 2 3 4 :

每次readystate值的變化,都會觸發readystatechange事件。可以利用這個事件來檢測每次狀態變化後readystate的值。

3、get請求與post請求

get請求:get請求需要將資料放在url中,通過open()的url引數一起提交給後台。

get請求在open傳遞url的時候,鍵值對(key/value)需要進行encodeuriconent()編碼。

post請求:post請求需要將資料放在send()中,提交給後台。

資料為經過序列化之後的字串。

post請求需要模仿表單提交資料:設定頭部資訊。            

get請求與post請求的區別:

1、formdata

建立了formdata的例項後,可以將它直接傳給xhr的send()方法。

1

var data = new formdata( document.forms[0] ) ;

2 xhr.send( data );

使用formdata傳送post請求,就不用再設定請求頭了。

2、進度事件

知識梳理計畫

知識的學習一般來說有兩個過程,第乙個是摳細節,理解知識,另乙個是將知識點進行總結歸納融入到自己的知識體系中。如果工作學習過程中需要用到該知識點的時候可以很快的提取出來。在這幾年的學習以及研究生活中,我也陸陸續續的鑽研過一些演算法,但是很多東西,都是當時懂了,但是過了一段時間,可能就忘記了,等到需要使...

Hive 知識梳理

1 order by,sort by,distribute by,cluster by 背景表結構 在講解中我們需要貫串乙個 例子,所以需要設計乙個情景,對應 還要有乙個表結構和填充資料。如下 有 3 個字段,分別為 personid 標識某乙個人,company 標識一家公司名稱,money 標識...

music 知識梳理

專案架構 vue init webpack vue music專案目錄介紹及其圖示字型,公共樣式等資源準備 src api common fonts image js stylus components router store main.js 修改package.json檔案 stylus 0.5...