位置: 编程技术 - 正文

jQuery ajax的功能实现方法详解

编辑:rootadmin

推荐整理分享jQuery ajax的功能实现方法详解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧。

实现功能

由于jq中的ajax方法是用了内置的deferred模块,是Promise模式的一种实现,而我们这里没有讲过,所以我们就不使用这一模式啦。

我们只定义一个ajax方法,他可以简单的get,post,jsonp请求就可以啦~~

我们的ajax方法最后实现的功能如上所示,非常类似于jq。那我们还在等什么,开始吧。

整体思路

我们的ajax方法需要传递一个对象进去,这个对象中我们可以定义一些我们希望的属性,我们就必须初始一下各种属性

以上我们定义了一大串请求有关的数据,接下来我们就开始ajax主体函数的书写,现在的ajax方法是这样了

我们可以想一下,ajax方法传递一个对象进来,我们是不是需要把我们设置的这个对象上的属性来覆盖掉初始化_options上面的那些属性呢,肯定需要。那下面我们先写一个简单的继承,如下:

这个继承方法,我们是把初始化的_options继承到了options,为什么呢?因为我们这个_options对象不在ajax方法内部,我们需要使用它,但我们不能改变他,如果改变了他,下一次使用ajax方法将会崩溃。因此,我们紧紧是把配置的options对象没有的属性设置为初始值。

jQuery ajax的功能实现方法详解

下面,我们就要发送请求了么?等等!好像jsonp请求不是xhr请求啊,他好像是将请求url当做script标签的src值插入到页面body中去实现的,哦,对了,我们先把jsonp请求处理一下再开始建立xhr请求的代码吧。

我们定义了一个_sendJsonpRequest函数,这个函数接收三个参数,第一个是jsonpUrl,第二个是jsonp的回调函数名,第三个是成功回调函数,我们在这个函数内建立一个src为jsonpUrl的script元素插入到body中,同时,确定了回调函数(如果我们定义了jsonpCallback函数就调用它,如果没有就调用success回调,一般情况我们不去定义全局的jsonpCallback函数而传递success回调来完成jsonp请求)。

好,处理好jsonp请求后,我们开始处理xhr请求了。

首先,兼容ie创建xhr对象,XMLHttpRequest构造函数传递参数是无影响,然后我们定义了两个辅助变量:search、param,前者用于get请求的查询字串,后者用于post请求的send内容,我们定义了一个_param方法来讲对象转换为send方法参数的模式,就如你看到的那样,下面我们做了get与post之间合理的search、param的赋值工作。接下来我们就可以发送请求书写最激动人心的内容了。

最终的代码如下

可以看到,我们很熟悉的xhr代码,在这里,我们需要写一个解析返回字串形成json格式对象的方法parseJSON,类似于jq中的parseJSON方法,如上所示。

我们还需要设置超时代码,如果设置了请求超时,我们就如上定义。

注意:上面代码中,由于懒,设置请求头一行并没有判断是否在post请求下,你可以自己设置~~~。

结尾

一个简单的ajax方法就完成了,你是否也完成了呢?如果你懂deferred,你可以尝试着书写为deferred格式,很简单的~~~。

以上所述是小编给大家介绍的jQuery ajax的功能实现方法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

ajax异步请求详解 做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事。既然是ajax就少不了jQuery的知

jquery实现转盘抽奖功能 实现这个其实蛮简单的,转动的效果用的jqueryRotate插件,所以只要判断每个奖荐对应的角度,然后设置指针的转动角度就可以了。比如关键的是jqueryRotat

JQuery ZTree使用方法详解 JQueryZTree简单使用@(JavaScript)[jQuery,ztree,入门]基本概述zTree是一个依靠jQuery实现的多功能树插件。优异的性能、灵活的配置、多种功能的组合是zTree最大优

标签: jQuery ajax的功能实现方法详解

本文链接地址:https://www.jiuchutong.com/biancheng/374058.html 转载请保留说明!

上一篇:Jqprint实现页面打印

下一篇:ajax异步请求详解(ajax的异步是什么意思)

  • 代开的增值税专票需要另外申报附加税吗?
  • 中税协是什么意思
  • 注会与税务师有什么区别
  • 车船税讲解
  • 疫情期间生活服务业免征增值税截止时间
  • 采购返利怎么生成发票
  • 公司车辆卖给个人怎么处理账务
  • 小企业会计准则调整以前年度费用分录
  • 年初未分配利润和年末未分配利润的关系
  • 本币原值是什么意思
  • 个税返还手续费奖励员工需要交个税吗
  • 即征即退项目的进项税额不参与加计抵减
  • 企业注销未抵扣完的进项税
  • 个人开技术服务费税率是多少
  • 已认证的进项税额转出如何操作
  • 销售收入冲红如何入账
  • 一般纳税人增值税可以抵扣吗
  • 跨年收入没有进项发票怎么做帐?
  • 商务旅行人身意外伤害险在税前扣除范围内吗?
  • 单位员工借款的认定
  • 安装费发票开具3%税率国税需要备案吗?
  • 小规模纳税人如何转一般纳税人
  • 劳务公司开劳务费发票怎么开,税率是多少
  • 金税四期有什么变化
  • 我们4月10日
  • 固定资产报废处置账务处理
  • 二手车没购车发票有影响吗
  • 生产企业低值高报骗税
  • 运费计入采购成本会计分录
  • 长期股权投资稀释
  • 进项转出税务处理
  • win10专业版怎么改成家庭版
  • 债券利息收入的分录
  • windows7网络无法连接
  • typecho 插件开发
  • 从劳务市场雇人受伤了怎么办?
  • php timestamp
  • 预收账款什么时候确认增值税
  • linux 数据类型
  • puppetm
  • 设置浏览器显示网络异常
  • 没结婚生了小孩分手了怎么办?
  • Element UI - v-infinite-scroll无限滚动组件
  • Yii2中DropDownList简单用法示例
  • 中标费用入什么科目
  • 纳税人在工作
  • 资产减值损失和资产减值准备
  • 租赁发票的租赁日期怎么写
  • 环保税的纳税义务人是施工方还是建设方安徽
  • 个体工商户具体工作内容怎么写
  • 不抵扣勾选的发票在哪里查看
  • 综合所得申报怎么补报上个月的
  • 国家税务总局公告2011年第25号公告
  • 餐饮毛利率多少为合理范围
  • 普通发票冲红重开要多久
  • 费用报销单怎样写记账凭证呢
  • 工程预付款发票开什么明细项目
  • 建筑劳务没有合同能起诉吗
  • 政府补贴是否交增值税
  • 增值税稽查补交税会计处理
  • 生产费用明细账
  • MySql Error 1698(28000)问题的解决方法
  • win8.1 0x80072efe
  • 让Windows XP、2003、2008自动登录的设置
  • ubuntu如何配置
  • centos 界面安装
  • kcleaner.exe是什么
  • win8电脑如何进入安全模式启动
  • Linux服务器管理的开机界面
  • linux系统怎么固定ip地址
  • ubuntu命令行添加用户
  • win10预览版和正式版区别
  • os x10.8.5
  • windows7如何调节屏幕色彩
  • windows下安装python环境
  • python3.5怎么保存
  • unity3d基于物理系统的2D平台跳跃游戏
  • 江苏税务查询电子发票
  • 遵从和尊重
  • 广东省电子税务局app下载官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设