赞
踩
- var Ajax={
- get: function(url, fn) {
- // XMLHttpRequest对象用于在后台与服务器交换数据
- var xhr = new XMLHttpRequest();
- xhr.open('GET', url, true);
- xhr.onreadystatechange = function() {
- // readyState == 4说明请求已完成
- if (xhr.readyState == 4 && xhr.status == 200 || xhr.status == 304) {
- // 从服务器获得数据
- fn.call(this, xhr.responseText);
- }
- };
- xhr.send();
- },
- // data应为'a=a1&b=b1'这种字符串格式,在jq里如果data为对象会自动将对象转成这种字符串格式
- post: function (url, data, fn) {
- var xhr = new XMLHttpRequest();
- xhr.open("POST", url, true);
- // 添加http头,发送信息至服务器时内容编码类型
- xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- xhr.onreadystatechange = function() {
- if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) {
- fn.call(this, xhr.responseText);
- }
- };
- xhr.send(data);
- }
- }
- const ajaxPromise = param => {
- return new Promise((resovle, reject) => {
- var xhr = new XMLHttpRequest();
- xhr.open(param.type || "get", param.url, true);
- xhr.send(param.data || null);
-
- xhr.onreadystatechange = () => {
- var DONE = 4; // readyState 4 代表已向服务器发送请求
- var OK = 200; // status 200 代表服务器返回成功
- if(xhr.readyState === DONE){
- if(xhr.status === OK){
- resovle(JSON.parse(xhr.responseText));
- } else{
- reject(JSON.parse(xhr.responseText));
- }
- }
- }
- })
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。