自己封裝的ajax

2022-02-26 05:31:28 字數 1977 閱讀 8759

/*

* * itcast web

* created by lsy on 2016/5/24. */

/** 1. 請求的型別 type get post

* 2. 請求位址 url

* 3. 是非同步的還是同步的 async false true

* 4. 請求內容的格式 contenttype

* 5. 傳輸的資料 data json物件

* * 6.響應成功處理函式 success function

* 7.響應失敗的處理函式 error function

* * 這些都是動態引數 引數物件 options

* */

/*封裝乙個函式

*/window.$ ={};

/*申明乙個ajax的方法

*/$.ajax = function

(options)

/*請求的型別

*/var type = options.type || 'get';/*

預設get

*//*

請求位址

*/var url = options.url || location.pathname;/*

當前的位址

*//*

是非同步的還是同步的

*/var async = (options.async === false)?false:true;/*

預設非同步

*//*

請求內容的格式

*/var contenttype = options.contenttype || "text/html";

/*傳輸的資料

*/var data = options.data || {};/*

{name:'',age:''}

*//*

在提交的時候需要轉成 name=xjj 這種格式

*/var datastr = ''/*

資料字串

*/for(var key in

data)

datastr = datastr && datastr.slice(0,-1);

/*ajax 程式設計

/*請求行

*//*

(type=='get'?url+'?'+datastr:url)判斷當前的請求型別

*/xhr.open(type,(type=='get'?url+'?'+datastr:url),async);

/*請求頭

*/if(type == 'post')

/*請求主體

*//*

需要判斷請求型別

*/xhr.send(type=='get'?null

:datastr);

/*監聽響應狀態的改變 響應狀態

*/xhr.onreadystatechange = function

()

/*如果我們的伺服器返回的是json字串

*/else

if(contenttype.indexof('json') > -1)

/*否則的話他就是字串

*/else

/*** 成功處理函式

*/options.success &&options.success(data);

}/*計時請求xhr.status不成功 他也需要的響應完成才認作是乙個錯誤的請求

*/else

if(xhr.readystate == 4)

}}$.post = function

(options)

$.get = function

(options)

ajax入門和自己封裝ajax

ajax 是什麼?ajax 現在允許瀏覽器與伺服器通訊而無須重新整理當前頁面的技術都被叫做ajax 或者是不重新重新整理整個頁面,只重新整理區域性頁面的一種非同步通訊技術 ajax技術的核心 xmlhttprequest物件 傳送請求到伺服器並獲得返回結果 常用方法 就緒碼 就緒碼 示例functi...

自己寫的ajax封裝js類

js function ajax method,synchronous 設定非同步請求返回資料型別text xml this.setrestype function restype 設定回滾函式 this.setcallback function func 設定load函式 this.setload...

封裝乙個自己的通用Ajax

首先在封裝乙個自己的ajax函式之前,我們需要先知道怎麼實現乙個簡單的ajax請求。這裡我建了兩個檔案,ajax01.html和ajax01.php ajax01.html 點選上面的按鈕,我會變哦 可以看到使用ajax發請求並獲取響應資料只需要簡單的4步 引數說明 xhr.status statu...