




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十一章Ajax交互扩展,列举除$.ajax()外,jQuery提供的其他Ajax方法简述.load()方法在调用和返回值方面与其他Ajax方法的区别编码说明如何使用jQuery的方法解析表单数据编码说明如何使用FastJSON的方法将Java对象序列化为JSON字符串,解析时要求包含值为null的字段为何要让渡jQuery的$操作符?如何让渡?,预习检查,集中测试,2/44,Ajax请求与普通请求有何不同?原生JavaScript实现Ajax包含哪些步骤?$.ajax()方法的主要参数有哪些?JSON对象如何定义和访问?点评作业的提交情况和共性问题,回顾及作业点评,回顾,作业点评,3/44,使用更多方法实现用户名和邮箱验证使用HTML内容的响应实现新闻和主题列表完成无刷新的新闻评论功能使用FastJSON简化服务器编码,本章任务,4/44,本章目标,掌握更多jQuery实现Ajax的方法掌握jQuery解析表单数据的方法掌握使用FastJSON生成JSON字符串的方法掌握解决jQuery与其他脚本库冲突的方法,5/44,jQuery的Ajax方法,$.ajax()$.get()$.post()$.getJSON().load(),6/44,$.get()简介,语法,$.get(url,data,success,dataType);,参数说明,7/44,使用$.get()实现异步交互以上代码等价于,$.get()用法,示例,$.ajax(url:url,data:data,type:get,success:function(result)/省略代码);,$.get(url,data,function(result)/省略将服务器返回的数据显示到页面的代码);,8/44,参数说明,$.post()简介,语法,$.post(url,data,success,dataType);,9/44,使用$.post()实现异步交互以上代码等价于,$.post()用法,示例,$.ajax(url:url,data:data,type:post,success:function(result)/省略代码);,$.post(url,data,function(result)/省略将服务器返回的数据显示到页面的代码);,10/44,学员操作实现无刷新邮箱验证,需求说明实现无刷新邮箱验证E-mail文本框失去焦点时,判断用户是否存在分别使用$.get()和$.post()方法实现以上需求,练习,11/44,共性问题集中讲解,常见问题及解决办法代码规范问题调试技巧,12/44,参数说明,$.getJSON()简介,语法,$.getJSON(url,data,success);,13/44,使用$.getJSON()实现异步交互以上代码等价于,$.getJSON()用法,示例,$.ajax(url:url,data:data,type:get,dataType:json,success:function(result)/省略代码);,$.getJSON(url,data,function(result)/省略将服务器返回的数据显示到页面的代码);,14/44,学员操作使用$.getJSON()方法加载管理员页面主题列表,需求说明在管理员页面点击“编辑主题”链接时,以Ajax方式获取主题列表,以JSON格式返回结果使用$.getJSON()方法实现,练习,15/44,共性问题集中讲解,常见问题及解决办法代码规范问题调试技巧,16/44,使用Ajax直接加载页面内容,复杂结构的响应数据还可以由服务器直接生成HTML片段,客户端直接套用到页面中,解析JSON提取数据,构建HTML文档结构,17/44,在Ajax中直接返回HTML2-1,改造管理员首页使用Ajax技术初始化加载全部新闻服务器直接生成展示所需的HTML片段,18/44,在Ajax中直接返回HTML2-2,管理员登录成功直接进入管理员首页在管理员首页通过Ajax技术加载新闻数据服务器直接生成展示所需的HTML片段在管理员首页中直接使用响应的HTML片段,实现步骤,19/44,学员操作在Ajax中直接返回HTML内容生成主题管理页面,需求说明在管理员页面点击“编辑主题”链接时,Ajax方式获取主题列表数据直接以元素返回在超链接点击事件中将响应格式设置为html修改服务器端查询主题列表功能的实现,生成展示所需的片段在页面的回调函数中直接添加页面内容,练习,提示,20/44,共性问题集中讲解,常见问题及解决办法代码规范问题调试技巧,21/44,参数说明,.load()简介,语法,$(selector).load(url,data,complete);,22/44,使用.load()实现异步交互以上代码等价于,.load()用法,示例,$.get(url,data,function(responseText)$(#opt_areaul).html(responseText););,$(#opt_areaul).load(url,data);,23/44,学员操作使用.load()方法为管理员页面加载服务器生成的主题列表,需求说明在管理员页面点击“编辑主题”链接时,以Ajax方式获取主题列表,以HTML格式返回结果使用.load()方法实现,练习,24/44,共性问题集中讲解,常见问题及解决办法代码规范问题调试技巧,25/44,小结,jQuery提供的实现Ajax的方法$.ajax()$.get()$.post()$.getJSON().load(),26/44,点击“发表”按钮,以Ajax方式提交评论请求服务器执行相关功能并反馈结果,无需跳转至新闻查询功能若评论发表成功,通过DOM操作将该评论添加到评论列表顶端,否则提示错误信息,基于表单数据的Ajax请求2-1,27/44,需要发送表单数据时,提取表单元素的值并构造成合适的数据格式是件很烦琐的事使用jQuery提供的方法简化处理.serializeArray()$.param(),基于表单数据的Ajax请求2-2,问题,分析,28/44,检测一组表单元素中的有效控件没有被禁用必须有name属性选中的checkbox或radio触发提交事件的submit按钮file元素不会被序列化将有效控件序列化为JSON对象数组包含name和value两个属性,.serializeArray(),29/44,$.param(),将由.serializeArray()生成的对象数组序列化成请求字符串的形式,经验,30/44,需求说明点击“发表”按钮,以Ajax方式提交评论请求服务器执行相关功能并反馈结果,无需跳转至新闻查询功能若评论发表成功,通过DOM操作将该评论添加到评论列表顶端,否则提示错误信息使用jQuery提供的方法序列化表单,学员操作使用Ajax实现无刷新的新闻评论功能,练习,31/44,FastJSON简介,随着JSON的广泛使用,在服务器端生成JSON字符串成了一件麻烦的工作,效率低且易出错FastJSON一个性能很好的、Java实现的JSON解析器和生成器将Java对象序列化成JSON字符串将JSON字符串反序列化得到Java对象,问题,32/44,FastJSONAPI3-1,入口类:com.alibaba.fastjson.JSON,33/44,FastJSONAPI3-2,枚举类型SerializerFeature定义了多种序列化属性,34/44,FastJSONAPI3-3,使用FastJSON改造管理员首页获取新闻列表功能,示例,/包含值为null的字段,数值为null输出0,String为null输出“”StringstrJSON=JSON.toJSONString(javaObject,SerializerFeature.WriteMapNullValue,SerializerFeature.WriteNullNumberAsZero,SerializerFeature.WriteNullStringAsEmpty);,35/44,学员操作使用FastJSON改造管理员页面加载主题列表功能,需求说明在管理员页面点击“编辑主题”链接时,以Ajax方式获取主题列表,以JSON格式返回结果使用FastJSON生成JSON格式的响应字符串,练习,36/44,共性问题集中讲解,常见问题及解决办法代码规范问题调试技巧,37/44,jQuery不是唯一使用$的脚本库,项目中有其他同样使用$的脚本库时就会引起冲突,jQuery让渡$操作符3-1,示例,/Prototype的$会覆盖jQuery的$或者/jQuery的$会覆盖Prototype的$,问题,38/44,jQuery定义了jQuery.noConflict()方法,放弃对$的使用权,以免与其他脚本库冲突改变了jQuery的编码风格,烦琐且不利于重用已有代码,jQuery让渡$操作符3-2,示例,jQuery.noConflict();/让渡$使用权,后续jQuery代码使用jQuery代替$jQuery(document).ready();或者重新指定一个替代符号:var$j=jQuery.noConflict();/让渡$使用权,并指定用$j代替$j(document).ready();,问题,39/44,jQuery让渡$操作符3-3,示例,jQuery.noConflict();/让渡$使用权,其他脚本库可以使用$jQuery(document).ready(function($)/在这里继续使用$编写jQuery代码$(#show).click(););或者jQuery.noConflict();/让渡$使用权,其他脚本库可以使用$(function($)/在这里继续使用$编写jQuery代码$(document).ready(function()$(#show).click(););)(jQuery);,40/44,总结2-1,jQuery的Ajax方法序列化表单,$.ajax()$.get()$.post()$.getJSON().load(),没有被禁用必须有name属性选中的checkbox或radio触发提交事件的submit按钮file元素不会被序列化,返回HTML内容并设置到元素中不是全局函数匿名的回调函数默认使用GET方式,有效的表单元素生成JSON对象数组,name属性value属性,.serializeArray()$.param()生成查询字符串.serialize(),41/44,总结2-2,JSON类的静态方法枚举类型SerializerFeature,toJSONString(Object)toJSONString(Object,boolean)toJSONString(Object,SerializerFeature)toJSONStringWithDateFormat(Object,String,SerializerFeature),QuoteFieldNamesWriteMapNullValueWriteNullXXXAsXXXSkipTransientFieldPrettyFormat,FastJSON让渡$操作符,原因:与其他同样使用$的脚本库共用会产生冲突jQuery.noConflict()让渡$并可通过返回值指定替代符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年曹县三年级数学第一学期期末统考试题含解析
- 2025届河南省部分学校高三下学期三模英语试题
- 民航安全自愿报告系统建设与应用
- 2025年PET改性及合金材料项目发展计划
- 《证券交易机制》课件
- 2025年铝合金预拉伸厚板和蒙皮铝合金板项目合作计划书
- 高级审计师经典案例试题及答案
- 高级会计资格考试2024年的独特试题及答案
- 《杂环芳香化合物》课件
- 河南省2025届中考物理预热模拟卷 (含解析)
- 2025安徽蚌埠市龙子湖区产业发展有限公司招聘22人笔试参考题库附带答案详解
- JGT266-2011 泡沫混凝土标准规范
- 配电室运行维护投标方案(技术标)
- 海运提单填制练习
- 幼儿园童话剧“拔萝卜”剧本
- 禾川x3系列伺服说明书
- 常用H型钢理论重量表格
- 中学自主招生考试物理试题
- 四川大学-刘龙飞-毕业答辩PPT模板
- 工作分析试题及答案
- 突发事件应急演练指南
评论
0/150
提交评论