如何使用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安全错误
数据库的锁怎样保障安全
中等软件开发院校
国内服务器什么意思
网络安全态势感知关键技术
银行软件开发效率
博客软件开发
协程 数据库操作
软件开发收入如何纳税
服务器回收后数据按什么标准清除
园区网络安全设计弱电
交管官网一直服务器繁忙
杭州蓝牙软件开发厂家
putty 数据库
软件开发项目经验英文介绍
心电监测器显示的数据库
电脑网络技术分析五官
小学生网络安全知识教育答题
集团网络安全事件通报分
职高计算机网络技术个人规划
数据库显示勾选项是灰色的
鹏博网络技术有限公司湖南
潍坊哪里招聘网络安全专业人员
网络技术给企业带来的新挑战
nebula数据库招聘
网络安全技术演示
一季度处置网络安全威胁
当前服务器
重庆邮电网络安全课程试卷
第八届中国数据库技术大会
网页文件怎么发到服务器
海南信息化软件开发预算