/**
* 傳送ajax請求
* @type {Object}
* 使用方法如下:
* $ajax.request(
* method: "post", //請求方式
* url: "index.php", //請求的伺服器地址
* data: "name=itbsl&age=20",//請求時攜帶的引數
* dataType: "xml", //期望伺服器回應的資料
* callback: function(res) { //請求成功後的回撥函式
* //處理資料
* }
* );
*/
var $ajax = {
request: function(obj) {
//建立物件
var xmlhttp;
if(window.XMLHttpRequest) {
//code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
//code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//建立連線
if(obj.method == `get`) {
xmlhttp.open(obj.method, obj.url+"?"+obj.data+"&"+Math.random(), true);
xmlhttp.send();
} if(obj.method == `post`) {
xmlhttp.open(obj.method, obj.url, true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(obj.data);
}
//監視請求的狀態
xmlhttp.onreadystatechange = function () {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if(obj.dataType == `xml`) {
obj.callback(xmlhttp.responseXML);
} else if(obj.dataType == `text`) {
eval("var res = " + xmlhttp.responseText);
obj.callback(res);
}
}
}
}
}
封裝一個簡易版的ajax操作物件
相關文章
- 封裝一個簡易的上傳附件方法封裝
- 用promise封裝一個ajaxPromise封裝
- 使用ts封裝一個ajax封裝
- 簡易Dialog封裝封裝
- 一個簡單的 Amqp 封裝MQ封裝
- [ 造輪子 ] 手動封裝 AJAX (一) —— 基礎版封裝
- ajax 封裝封裝
- 用原生js封裝一個ajax請求方法JS封裝
- 實現一個簡易版WebpackWeb
- jquery ajax 的封裝jQuery封裝
- 來實現一個簡易版的 PromisePromise
- 從封裝函式到實現簡易版自用jQuery (二)封裝函式jQuery
- 封裝一個簡單的日曆元件封裝元件
- 封裝一個簡單的動畫函式封裝動畫函式
- 一個最簡單的類JQuery封裝jQuery封裝
- jquery 封裝的ajax呼叫jQuery封裝
- 基於Promise實現對Ajax的簡單封裝Promise封裝
- 原生es6封裝一個Promise物件封裝Promise物件
- 5.Hibernate工具類的簡易封裝封裝
- 最簡易的網路框架封裝(新手可看)框架封裝
- Golang 對MongoDB的操作簡單封裝GolangMongoDB封裝
- 基於React搭建一個簡易版豆瓣React
- 基於vue搭建一個簡易版豆瓣Vue
- ajax原生js封裝JS封裝
- 原生js封裝AjaxJS封裝
- 一個簡易版的T4程式碼生成
- PHP封裝的一個單例模式Mysql操作類PHP封裝單例模式MySql
- 易理解的Promise封裝Promise封裝
- AFNetworking的簡易封裝,含字典轉模型封裝模型
- 一個封裝簡單使用簡單的雷達檢視封裝
- [ 造輪子 ] 手動封裝 AJAX (三) —— 最終版封裝
- javascript物件導向的封裝簡單介紹JavaScript物件封裝
- 前端ajax介面配置封裝前端封裝
- 分享:用promise封裝ajaxPromise封裝
- 原生Ajax封裝隨筆封裝
- 裝逼的最高境界---一行js程式碼完成一個簡易版的貪吃蛇遊戲JS遊戲
- [ 造輪子 ] 手動封裝 AJAX (二) —— ES6 版封裝
- 動手寫個Retrofit簡易版