位置: 编程技术 - 正文

使用jQuery的ajax方法向服务器发出get和post请求的方法

编辑:rootadmin

推荐整理分享使用jQuery的ajax方法向服务器发出get和post请求的方法,希望有所帮助,仅作参考,欢迎阅读内容。

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

打算写个ajax系列的博文,主要是写给自己看,学习下ajax的相关知识和用法,以更好的在工作中使用ajax。

假设有个网站A,它有一个简单的输入用户名的页面,界面上有两个输入框,第一个输入框包含在一个form表单里用来实现form提交,第二个输入框是单独的、没有包含在form里,下面就用这两个输入框来学习下jQuery的ajax。

1,前端的html和javascript代码

页面html

页面中引入的demo.js代码,注意此处实现的是一个简单的GET请求。

jQuery的ajax()方法有两种写法,分别是: $.ajax(url [, settings]); 和 $.ajax([settings]); 两种写法都可以,感觉第一种方法适合用于参数较少的情况,比如,如果只是对一个url做一个简单的请求,不对返回的数据、格式和错误有要求,只需要传递一个url参数就可以,那就可以用第一种写法。上面的demo.js中采用的是第二种写法,下面解释下参数和相关的函数。

(1)上面代码中ajax()的参数

可以看到这里的参数类型都是javascript对象,即都是 o = {key: value}; 这种类型的数据。jQuery的文档中规定了,这里的参数只能是PlainObject(对象类型的对象),不能是null、自定义的数组、或者像docement这种归属于某种执行环境(比如浏览器)属于某种类型的对象。这里不太好说清楚,可以做个小试验。在命令行里打开node repl,进行下测试:

可以看到null、[](数组类型)、{}(对象类型)都是对象。因为在js中一切皆对象。而在交互式环境中,document则是未定义的一个变量,所以它的类型是undefined。如果在浏览器环境下测试下typeof(document),那么它的类型也是object。下面逐个解释下代码用到的参数:

url,要请求的url地址,它的值应该是包含url的字符串。

dataType,字符串。发出请求后,期望从服务器返回的数据类型。可以指定的类型有xml、html、script、json、jsonp、text。如果不指定,jquery会基于MIME做判断,并会返回一个下面xml、json、script、html当中的一种类型。

method,字符串。HTTP请求方法,默认为GET,上面代码中指定为POST。

success, Type: Function( Anything data, String textStatus, jqXHR jqXHR ) ,匿名函数。HTTP请求成功后要调用的函数,可以传递三个参数给它:从服务器返回的数据(如果上面指定了dataType,则服务器返回的数据类型需要与上面dataType指定的类型一致)、一个可以描述状态的字符串textStatus、还有一个jqXHR对象。可以看到上面只传递了从服务器返回的数据data。

error, Type: Function( jqXHR jqXHR, String textStatus, String errorThrown ) ,匿名函数。HTTP请求失败后要调用的函数,同样也可以传递三个参数。

使用jQuery的ajax方法向服务器发出get和post请求的方法

除了用到的这些参数,还有许多其他的如:async、dataFilter、mimeType等其他参数,不过现在的这个简单的脚本还用不到那么多参数。

(2)“延迟加载函数”

上面代码中 $.ajax().done().fail().always() jqXHR.done()、jqXHR.fail()、jqXHR.always()中分别可以添加deferred对象被解析、被拒绝、被解析或被拒绝这三种情况下的要处理的工作,比如添加个函数什么的。为什么能够这么做呢,这要看$.ajax()返回了什么,它返回的是jqXHR对象(jquery版本大于1.5时)。这个对象实现了Promise interface(Promise机制,用来传递异步操作消息,代表了某个未来才会知道结果的事件)。这就允许在一次请求中添加多个回调函数,甚至可以在请求完成后添加回调函数。

标题“延迟加载”描述的不够准确,但从效果上看是有延迟加载的效果。关于这个问题更详细的解释可以参考jQuery文档中对jqXHR的解释 或一位前端前辈的解释jQuery的deferred对象详解 。

2,后端运行在nginx服务器上的php代码

后端的逻辑很简单:我们把前端获取的数据保存到名为data-demo的文件中,保存成功则向前端返回一个1作为标志。

(1)前端ajax发起GET请求

如果前端的ajax发起的是一个GET请求,那么后端也比较好处理:

(2)前端ajax发起POST请求

js代码中需要修改下ajax()的url、method参数,并增加一个data参数,修改后如下:

因为用POST传递数据,所以去掉url中用来传递数据的参数,下面的data类型要与dataType一致,为json格式,然后将username作为值传递。

那么后端的代码也就可以确定了:

如果不出错的话,效果应该是下面这样然后查看下data-demo,名字果然被保存了。

那么问题来了,如果出错了呢?比如data-demo文件不可写,或者后台服务器返回的数据格式有错误,或者网络出错。那又该怎么处理呢?我现在也不太清楚,后续再研究吧。

以上所述是小编给大家介绍的使用jQuery的ajax方法向服务器发出get和post请求的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

jQuery动态生成表格及右键菜单功能示例 本文实例讲述了jQuery动态生成表格及右键菜单功能。分享给大家供大家参考,具体如下:这里用的是jquery1.4.1的库文件,具体代码如下:!DOCTYPEhtmlPUBLIC"-/

jQuery实现的省市联动菜单功能示例【测试可用】 本文实例讲述了jQuery实现的省市联动菜单功能。分享给大家供大家参考,具体如下:主要通过select下的option的change事件动态的为市级菜单添加数据。index

jQuery实现select模糊查询(反射机制) 通过如下代码就可以简单实现select带模糊查询的条件查询,具体如下jquery.select.js如下:(function($){$.selectSuggest=function(target,data,itemSelectFunction){vardefaulOption

标签: 使用jQuery的ajax方法向服务器发出get和post请求的方法

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

上一篇:jquery,js简单实现类似Angular.js双向绑定(jquery.js)

下一篇:jQuery动态生成表格及右键菜单功能示例(jqgrid动态生成表头)

  • 商品混凝土税率为啥是3%
  • 冲回多计提费用
  • 股东个人财产转让协议
  • 息税前利润含义
  • 不得公开发行股票的情形
  • 接受投资材料
  • 事业单位资产负责比往年增加表明什么
  • 增值税上月多交税本月怎么办
  • 小规模税控设备维护费怎么填申报表格
  • 收取境外技术服务费如何
  • 转回存货跌价准备为什么是可抵扣暂时性差异
  • 报关单上单位名称写千克还是kg
  • 房产税逾期未申报罚款多少
  • 增值税起征点有啥用
  • 分配股利需要缴纳个税吗
  • 出口发票税率怎么开
  • 合伙企业个人所得税经营所得税率
  • 促销费属于哪个税目
  • 现金盘亏记哪里
  • 进口应税消费品所支付的金额不包括
  • 销售结算款扣款怎么记账?
  • 资产负债表资产总额为负数
  • 开户许可证复印件是什么
  • 营业外支出汇算清缴调增填哪
  • 用友t8怎么删除凭证
  • 税务更正申报需要哪些资料
  • 出纳人员赔偿
  • 消费税的附加税和增值税的附加税
  • 房地产公司未售房产出租账务处理
  • Win10打开浏览器后自动弹出查找框
  • PHP:xml_set_character_data_handler()的用法_XML解析器函数
  • 生产企业结账流程
  • PHP:curl_multi_init()的用法_cURL函数
  • 用支票购入厂部办公用品2000元,车间办公用品1000元
  • php 堆排序
  • 向投资者分配现金股利 为什么会导致所有者权益减少?
  • 债权转让抵押权一并转让,需要办理抵押变更手续
  • 七个超级实用的手机
  • 企业生产车间发生的费用会计科目
  • php+ mysql教程
  • 计算机专业的毕业设计作品新颖
  • php array_fill
  • reorg table 命令
  • 耕地里埋坟国家有什么规定
  • 固定资产一次性扣除如何做账
  • kafka gui
  • 数论电子书下载
  • 拆迁支出包括哪些
  • ibm_db_dbi
  • 进项税额转出的进项税额如何处理
  • 个人所得税隔月交么
  • 制造费用分配后总账月末余额在哪方?
  • 工会经费多久缴纳一次
  • 现金流量表的内部结构怎么算
  • 使用积分换取物的软件
  • 被挂靠方并收取管理费的公司怎样处理账务?
  • 高新企业研发收入占总收入比例怎么算
  • 职工教育经费超过扣除限额的时候调增还是调减
  • 新会计准则适用企业
  • 什么叫误餐费
  • 个体户能开建筑劳务发票吗
  • 增值税系统技术维护费 减免政策
  • mysql分区实现
  • centos直接进入命令行
  • xp系统好奇怪哦
  • linux系统开机黑屏啥也没有
  • 丢失msvcr80.dll
  • 安装软件时提示无法访问网络位置
  • WIN10系统中没有接入音频设备 要启动gui
  • 手机ssh远程连接服务器
  • Linux驱动程序开发视频教程
  • win7系统解决数字签名问题
  • grep的结果 再次查找
  • linux如何给网卡配置ip地址
  • win8系统怎样
  • linux服务器常用操作命令
  • cocos2dx4.0教程
  • 使用应用程序的好处
  • 电子票怎么申领到开票系统
  • 税务系统电子发票的详细步骤
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设