千家信息网

如何使用JavaScript定义自己的ajax函数

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章将为大家详细讲解有关如何使用JavaScript定义自己的ajax函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。由于用原生js的方式发起的网络请求,都是
千家信息网最后更新 2024年11月19日如何使用JavaScript定义自己的ajax函数

这篇文章将为大家详细讲解有关如何使用JavaScript定义自己的ajax函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

由于用原生js的方式发起的网络请求,都是以查询字符串的形式,提交给服务器的,用户以对象的形式提交参数的话会比较方便,所以需要把用户传递过来的参数对象进行处理,定义resolveData的函数,设置形参接收参数,遍历里面的对象,把键和值用=的方式进行拼接,然后把所得的值添加进空的数组即可;最后用&符号把数组的每一项进行分割,并返回;定义itheima函数,设置形参用于接收用户传递过来的配置对象参数,创建xhr对象,把传递过来的参数传递给处理参数的函数,把得到的返回值,给一个变量,由于是不同的请求,所以要进行判断,首先是GET请求,判断参数里面的method是否全等于GET,由于传递过来的参数有可能是小写,所以通过toUpperCase方法转化为大写,如果条件成立调用open方法,把对应的值填入即可,调用send函数;POST也一样,只是提交数据多了参数和POST请求需要"Content-Type"头指定请求主题的MIME类型。最后调用监听事件即可;

function resolveData(data) {    var arr = [];    for (var k in data) {        var str = k + "=" + data[k];        arr.push(str)    }    return arr.join("&")}function itheima(options) {    var xhr = new XMLHttpRequest();    var qs = resolveData(options.data);    if (options.method.toUpperCase() === "GET") {        xhr.open(options.method, options.url + "?" + qs);        xhr.send();    } else if(options.method.toUpperCase() === "POST"){        xhr.open(options.method, options.url)        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")        xhr.send(qs)    }    xhr.onreadystatechange = function () {        if (xhr.readyState === 4 && xhr.status === 200) {            var result = JSON.parse(xhr.responseText)            options.success(result);        }    }}

最后测试一下是否能成功~

                测试界面    

关于"如何使用JavaScript定义自己的ajax函数"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

参数 函数 对象 用户 篇文章 形式 数组 方式 方法 更多 形参 处理 测试 不同 不错 实用 成功 主题 事件 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 庆阳市网络安全工作会议 学校网络安全管理工作计划 通用数据库查询分析器 欧盟网络安全战略的实质 软件开发时期分哪几个阶段 pptp服务器未响应 魔兽世界重启服务器 科技互联网海报背景 失落的方舟不在一个服务器 内存数据库技术 怀柔区口碑好的网络技术服务平台 数据库中分组是什么意思 腾讯云服务器安全设置 怎么在服务器下载文件 广州质量网络技术开发公司 苏州戴尔惠普服务器 手机版方舟服务器怎么选择 适合应届生软件开发的职位 软件开发中用到什么软件策略 戴尔430服务器怎么加硬盘 2018年全国网络安全竞赛 连云港网络服务器机柜哪家强 中国科学引文数据库怎么用 简述神经网络技术的发展 大型软件开发的角色 陕西曙光服务器维修维保哪家好 网络安全证书怎么关 mc哪个服务器有枪 台州app软件开发公司 手机提示服务器请求失败
0