封装一个简易版的ajax操作对象
2023-09-27 14:19:39 时间
/**
* 发送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);
}
}
}
}
}
相关文章
- Android RecyclerView (十)组件化封装
- Android RecyclerView封装下拉刷新与上拉加载更多
- 【学习笔记77】ajax的函数封装
- POI 导入excel数据自己主动封装成model对象--代码分析
- 3.2 封装成帧和透明传输
- 老板叫我写个APP自动化--方法二次封装--01点击输入
- uniapp 封装API axios二次封装步骤
- canvas函数封装(画圆形图片、文字换行)
- SwiftUI macOS 封装NSTextField
- 自己封装一个简易的toast提示组件
- Ajax之Jquery封装使用举例2(Json和JsonArray处理)
- NoHttp封装--06 NoHttp之队列、队列优先级
- 简易高重用的jdbcutils工具封装实现类以及简易连接池实现
- 二次封装axios/ajax发起网络请求的几种写法
- Vue中自定义指令总结及封装一个类似于v-bind的自定义指令
- js封装的Toast消息提示框,可作为消息提示、警示框、报错提示、确认框等,很方便好用!
- Java面向对象三大特征之封装
- vue 自定义封装组件 使用 model 选项