原生ajax()函式封裝程式碼例項
分享一段程式碼例項,它利用JavaScript實現了ajax()函式的封裝效果。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼/* 封裝ajax函式 * @param {string}opt.type http連線的方式,包括POST和GET兩種方式 * @param {string}opt.url 傳送請求的url * @param {boolean}opt.async 是否為非同步請求,true為非同步的,false為同步的 * @param {object}opt.data 傳送的引數,格式為物件型別 * @param {function}opt.success ajax傳送並接收成功呼叫的回撥函式 */ function ajax(opt) { opt = opt || {}; opt.method = opt.method.toUpperCase() || 'POST'; opt.url = opt.url || ''; opt.async = opt.async || true; opt.data = opt.data || null; opt.success = opt.success || function() {}; var xmlHttp = null; if (XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } else { xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); }; var params = []; for (var key in opt.data) { params.push(key + '=' + opt.data[key]); } var postData = params.join('&'); if (opt.method.toUpperCase() === 'POST') { xmlHttp.open(opt.method, opt.url, opt.async); xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8'); xmlHttp.send(postData); } else if (opt.method.toUpperCase() === 'GET') { xmlHttp.open(opt.method, opt.url + '?' + postData, opt.async); xmlHttp.send(null); } xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { opt.success(xmlHttp.responseText); } }; }
相關文章
- ajax原生js封裝JS封裝
- 原生js封裝AjaxJS封裝
- js封裝 Ajax ——常用工具函式JS封裝函式
- 用原生js進行封裝函式 實現 選項卡巢狀選項卡 功能JS封裝函式巢狀
- ajax讀取資料庫資料程式碼例項資料庫
- ajax 封裝封裝
- 用原生js封裝一個ajax請求方法JS封裝
- javascript原生封裝一個淡入淡出效果的函式JavaScript封裝函式
- 原生JS 一定要學會自己封裝函式,不然還怎麼‘原生’?JS封裝函式
- JSONP 通用函式封裝JSON函式封裝
- 前端常用函式封裝前端函式封裝
- 響應式佈局程式碼例項
- 遞迴函式例項大全遞迴函式
- 機器學習 - 似然函式:概念、應用與程式碼例項機器學習函式
- 【封裝小技巧】列表處理函式的封裝封裝函式
- python怎麼封裝函式Python封裝函式
- jQuery Ajax 例項 全解析jQuery
- 【封裝小技巧】數字處理函式的封裝封裝函式
- FPGA一段式verilog程式碼例項FPGA
- 封裝ajax、axios請求封裝iOS
- 分享:用promise封裝ajaxPromise封裝
- 前端ajax介面配置封裝前端封裝
- 封裝帶引數的函式封裝函式
- h5替換 alert toast ajax 請求 獨立函式封裝 複製可用H5AST函式封裝
- 原生js—ajax的封裝外掛.js—(對get和post做了相容)JS封裝
- dom操作程式碼例項
- css梯形程式碼例項CSS
- FPGA二段式verilog程式碼例項FPGA
- 好程式設計師web前端學習路線分享AJAX狀態碼ajax.status及封裝程式設計師Web前端封裝
- Python函式每日一講 - frozenset集合函式入門及例項Python函式
- 那些年我封裝的 JS 函式封裝JS函式
- 為何要再封裝 AJAX?封裝
- 用promise封裝一個ajaxPromise封裝
- 使用ts封裝一個ajax封裝
- rxjs入門之ajax封裝JS封裝
- 函式計算支援 MySQL 例項繫結函式MySql
- 例項物件和函式物件的區別物件函式
- 私有建構函式的物件建立例項函式物件
- python例項建立銷燬的函式整理Python函式