封装多种方式的ajax异步方法
来源:互联网 发布:淘宝中国质造加入条件 编辑:程序博客网 时间:2024/06/06 08:30
// 准备一个 对象
// 如果参数使用逗号分隔 写多个
// 那么用户 需要去记忆参数的 顺序,以及每一个参数的作用
var my$_pro = {
get: function (url,data, success) {
//1.创建异步对象
var xhr = newXMLHttpRequest();
// 由于是 get请求
// 数据 需要拼接在 url中
url += '?';
url += data;
//2.设置属性(请求头,请求行)
xhr.open('get', url);
//4.注册状态改变事件
xhr.onreadystatechange = function () {
//5.判断状态&请求是否成功并使用数据
if (xhr.readyState == 4 && xhr.status == 200) {
success(xhr.responseText);
}
}
//3.发送请求 请求主体
xhr.send(null);
},
post: function (url,data, success) {
//1.创建异步对象
var xhr = newXMLHttpRequest();
//2.设置属性(请求头,请求行)
xhr.open('post', url);
// 设置 请求头
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
//4.注册状态改变事件
xhr.onreadystatechange = function () {
//5.判断状态&请求是否成功并使用数据
if (xhr.readyState == 4 && xhr.status == 200) {
success(xhr.responseText);
}
}
//3.发送请求 请求主体
xhr.send(data);
},
ajax: function (option) {
//1.创建异步对象
var xhr = newXMLHttpRequest();
// 如果是get方式,url 可能需要拼接
if (option.type == 'get') {
option.url += '?';
option.url += option.data;
// 如果 这里 使用了 data 那么 send 这个方法中 null
option.data = null;
}
//2.设置属性(请求头,请求行)
xhr.open(option.type, option.url);
// 设置 请求头
if (option.type == 'post') {
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
}
//4.注册状态改变事件
xhr.onreadystatechange = function () {
//5.判断状态&请求是否成功并使用数据
if (xhr.readyState == 4 && xhr.status == 200) {
// xhr 判断数据是json格式还是xml格式
var value = xhr.getResponseHeader('Content-Type');
// 如果有 xml
if (value.indexOf('xml') != -1) {
option.success(xhr.responseXML);
} else if (value.indexOf('json') != -1) {
// 如果是json数字据 那么 帮忙 把转换的操作也做了
option.success(JSON.parse(xhr.responseText));
} else {
option.success(xhr.responseText);
}
}
}
//3.发送请求 请求主体
xhr.send(option.data);
}
}
0 0
- 封装多种方式的ajax异步方法
- Ajax简单实现文件异步上传的多种方法
- js异步的多种方式
- 原生Ajax的多种简单封装
- ajax方法的封装
- AJAX异步请求封装
- Ajax异步封装
- jQuery封装的Ajax方法
- 常用ajax封装的方法
- JQuery封装的ajax方法
- AJAX - 封装AJAX调用的方法
- ajax实现异步请求的json方式;
- 封装的多种实现
- ajax的工作原理以及异步请求的封装
- ajax的工作原理以及异步请求的封装
- AJAX异步请求函数的封装及示例
- AJAX异步请求函数的封装及示例
- AJAX异步请求函数的封装及示例
- SpringMVC的运转流程及代码解析
- freemarker中number转换问题解析
- JavaSE基础之反射
- BZOJ P1027[JSOI2007]合金
- MySQL (9)MySQL 索引原理 B+树
- 封装多种方式的ajax异步方法
- spring装配bean——自动装配bean
- C++中cin,cout进制,数据宽度与对齐,精度,取整
- 一些小问题
- 几种TCP连接中出现RST的情况
- android:clipToPadding的使用详解
- triangle
- 最短的名字 字典树
- Java考试基础知识回顾