原生js實現Ajax請求,包含get和post

2022-07-31 03:51:13 字數 1137 閱讀 4772

現在web從伺服器請求資料,很多用到ajax,不過都是用的jquery封裝好的,之前做專案,由於無法引用jquery,所以就只能用原生了,話不多說,請看**。

1

/*-------------------ajax start--------------------*/2

3function

ajax(options) ;

5 options.type = (options.type || "get").touppercase();

6 options.datatype = options.datatype || "json";

7var params =formatparams(options.data);

8var

xhr;910

//建立 - 第一步

//連線 和 傳送 - 第二步

18if (options.type == "get") else

if (options.type == "post")

2728

//接收 - 第三步

29 xhr.onreadystatechange = function

() else37}

38}39}

4041

//格式化引數

42function

formatparams(data)

47 arr.push(("v=" + math.random()).replace(".",""));

48return arr.join("&");49}

5051

/*-------------------ajax end-------------------

*/

自己封裝ajax,主要分三步:

第一步:建立需要的物件,這裡主要用到的是xmlhttprequest,注意需要考慮早期的ie;

第二步:連線和傳送;

第三步:接收;

這裡為了格式化請求引數,封裝了乙個formatparams(data)函式。

原生js實現Ajax請求

原生的ajax請求離不開xhr物件,即xmlhttprequest物件。所有現代瀏覽器都內建有這個物件。建立整個物件 var xhr new xmlhttprequest 這裡有個版本的差異,ie5和ie6使用activex物件。不同的瀏覽器使用不同的物件。if window.xmlhttprequ...

原生js實現ajax非同步請求

返回xmlhttp的相容寫法 xmlhttp.open post ajax recelve true get post url 是否非同步 post方式 對於django像form表單一樣,會觸發403,跨站請求的warn xmlhttp.send name daxue 路由url url r aj...

使用原生JS實現Ajax請求

第一步 獲得xmlhttprequest物件 第二步 設定狀態監聽函式 ajax.onreadystatechange function 第三步 open乙個鏈結 ajax.open get h51701.json false true非同步請求,false同步 第四步 send傳送乙個請求。可以傳...