博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
封装原生ajax
阅读量:5263 次
发布时间:2019-06-14

本文共 2681 字,大约阅读时间需要 8 分钟。

将原生ajax进行封装

function ajax() {                var ajaxData = {                    type: arguments[0].type || "GET",                    url: arguments[0].url || "",                    async: arguments[0].async || "true",                    data: arguments[0].data || null,                    dataType: arguments[0].dataType || "text",                    contentType: arguments[0].contentType || "application/x-www-form-urlencoded",                    beforeSend: arguments[0].beforeSend || function() {},                    success: arguments[0].success || function() {},                    error: arguments[0].error || function() {}                }                ajaxData.beforeSend()                var xhr = createxmlHttpRequest();                xhr.responseType = ajaxData.dataType;                xhr.open(ajaxData.type, ajaxData.url, ajaxData.async);                xhr.setRequestHeader("Content-Type", ajaxData.contentType);                xhr.send(convertData(ajaxData.data));                xhr.onreadystatechange = function() {                    if(xhr.readyState == 4) {                        if(xhr.status == 200) {                            ajaxData.success(xhr.response)                        } else {                            ajaxData.error()                        }                    }                }            }            function createxmlHttpRequest() {                if(window.ActiveXObject) {                    return new ActiveXObject("Microsoft.XMLHTTP");                } else if(window.XMLHttpRequest) {                    return new XMLHttpRequest();                }            }            function convertData(data) {                if(typeof data === 'object') {                    var convertResult = "";                    for(var c in data) {                        convertResult += c + "=" + data[c] + "&";                    }                    convertResult = convertResult.substring(0, convertResult.length - 1)                    return convertResult;                } else {                    return data;                }            }

ajax实现,写起来和jQuery差不多

ajax({                type: "POST",                url: "http://share.vr39.com/rest/link/importUserPanoramData",                dataType: "json",                data: {                    "viewUuid": data                },                beforeSend: function() {                    //some js code                 },                success: function(msg) {                    alert(msg.message)                },                error: function() {                    alert("error")                }            });

 

转载于:https://www.cnblogs.com/Java-Starter/p/7866222.html

你可能感兴趣的文章
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
hdu 2093
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
009.栈实现队列
查看>>
A-Softmax的总结及与L-Softmax的对比——SphereFace
查看>>
关于软件盘覆盖住布局
查看>>
Unity3D 控制物体移动、旋转、缩放
查看>>
UVa 11059 最大乘积
查看>>
UVa 12545 比特变换器
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
10个著名的思想实验1
查看>>
composer 报 zlib_decode(): data error
查看>>
linux下WPS的使用
查看>>
Web Api 利用 cors 实现跨域
查看>>
hdu 3938 并查集
查看>>