版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章AjaxAsynchronousJavaScriptAndXML异步JavaScript与XML技术详解WebDevelopmentClient-ServerCommunication章节内容学习路线本章将系统讲解Ajax技术,从基础概念到实际应用,从jQuery简化实现到原生JavaScript底层机制,最后解决跨域问题。核心要点•异步通信原理•jQueryAjax方法•原生XHR对象•跨域解决方案1什么是Ajax异步JavaScript与XML的核心概念与实际应用2jQuery实现Ajax$.get()$.post()$.ajax()3原生JavaScript实现AjaxXMLHttpRequest对象的底层工作机制4跨域问题JSONPCORS服务器代理5本章作业实践练习与综合应用Chapter10·AjaxTechnology10.1什么是Ajax核心概念Ajax=AsynchronousJavaScriptAndXML异步JavaScript与XML,基于JavaScript实现网页与服务器之间数据交换的技术核心特点网页在不刷新的情况下与服务器交换数据实现页面的局部更新,用户体验流畅异步执行,用户无感知的数据传输实际案例
网易邮箱注册:填写邮箱名后,自动检测是否被占用,无需刷新页面即可显示提示信息Ajax通信流程Chapter10·AjaxTechnology10.2.1jQuery的$.get()方法语法结构$.get(url,callback)1URL参数请求的服务器地址2回调函数处理服务器返回的数据应用场景从服务器获取数据列表查询数据库记录获取JSON格式数据代码示例重要提示Ajax是异步操作,写在$.get()后面的语句不会等待请求结束才执行,必须在回调函数中处理响应数据Chapter10·AjaxTechnology$("button").click(function(){//发出Ajax请求接口$.get("/api-list.php",function(data){//在h1中显示data值$("h1").html(JSON.stringify(data));});});10.2.2jQuery的$.post()方法语法结构$.post(url,data,callback)1URL参数数据提交的目标地址2数据对象要发送到服务器的数据3回调函数处理服务器响应结果应用场景表单数据提交新增数据记录用户注册/登录代码示例重要提示表单提交按钮的type应设置为button而非submit,避免使用默认表单提交方式Chapter10·AjaxTechnology$("#btn").click(function(){$.post("/api-registration.php",{"name":$("input[name=name]").val(),"age":$("input[name=age]").val(),"sex":$("input[name=sex]").val()},function(data){if(data.result==1){alert("提交成功");}else{alert("提交失败");}});});10.2.3jQuery的$.ajax()方法语法结构$.ajax({url:"请求地址",type:"请求方式",data:{发送数据},success:function(result){},error:function(xhr,status,error){}})支持的HTTP方法GETPOSTDELETEPUTPATCH...代码示例核心优势最灵活的Ajax方法,支持所有HTTP请求类型,可完整配置请求参数和错误处理Chapter10·AjaxTechnology$.ajax({url:"api-delete.php?id="+id,type:"DELETE",success:function(data){if(data.result==1){alert("删除成功");$(that).parents("tr").remove();}},error:function(xhr,status,error){console.error(error);}});10.3原生JavaScript实现Ajax核心对象XMLHttpRequest实现Ajax请求的核心对象,提供客户端与服务器之间传输数据的能力实现步骤1创建对象newXMLHttpRequest()2配置请求xhr.open('GET',url,true)3设置回调onload/onreadystatechange4发送请求xhr.send()代码示例readyState状态值0-UNSENT1-OPENED2-HEADERS_RECEIVED3-LOADING4-DONEvarxhr=newXMLHttpRequest();xhr.open('GET','api-list.php',true);xhr.onload=function(){if(xhr.status===200){console.log(xhr.responseText);}else{console.error('请求失败');}};xhr.onerror=function(){console.error('网络错误');};xhr.send();10.4.1什么是跨域从一个域名的页面去请求另一个域名的资源,由于浏览器同源策略限制,JavaScript脚本不能直接访问不同域的资源同源策略要求协议Protocolhttp/https域名Domain端口Port80/443/8080
三者必须完全相同,否则浏览器会认为是跨域请求跨域需求场景数据接口分离前端应用和后端API部署在不同服务器资源共享多个网站共享同一套后端资源或数据第三方服务调用百度地图API、微信登录等服务10.4.2-10.4.4跨域解决方案JSONP核心原理利用script标签不受同源策略限制的特性实现方式callback(jsonData)特点兼容性好仅支持GET请求存在安全隐患适用场景:简单的跨域GET请求CORS核心原理服务器设置HTTP响应头允许跨域实现方式Access-Control-Allow-Origin:*特点W3C标准支持所有HTTP方法安全性可控适用场景:现代Web应用首选方案服务器代理核心原理通过同源服务器转发请求绕过限制实现方式PHPCURL转发请求特点灵活性高可控制访问权限增加服务器负担适用场景:无法修改目标服务器时使用Chapter10·AjaxTechnology本章总结与作业知识要点Ajax核心概念异步JavaScript与XML,实现无刷新数据交换jQuery实现方法$.get()、$.post()、$.ajax()三种方式原生JavaScript实现XMLHttpRequest对象的底层工作机制跨域解决方案JSONP、CORS、服务器代理三种方式课后作业1理解Ajax工作原理,访问各
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥梁移动模架现浇施工组织设计
- 有线电视系统安装施工方案及技术措施
- 管道预制加工施工方案及技术措施
- 接地网敷设及接地电阻测试方案
- 工具钳工技师考试题库及模拟考试答案
- 多氯联苯污染治理施工方案及技术措施
- 避雷针制作安装施工方案及技术措施
- 成品损坏责任认定措施
- 城市立交桥梁施工组织设计
- 2026成都环境投资集团有限公司下属子公司招聘项目经理等岗位13人备考题库附参考答案详解【典型题】
- 2026年上海杨浦区社区工作者招聘考试试卷-含答案解析
- 高三语文阅读理解万能答题公式(高考极简满分版)
- 2026年人教版七年级下册生物期末重点联考卷(含答案可下载)
- 2026二年级诗词个性化作业设计课件
- 教科版四年级下册科学期末测试卷完整
- 溃坝计算完整版本
- 幼儿园 中班健康《会动的关节》
- (完整版)古代文学课件-先秦文学
- 玉米苗期常见病虫害防治
- 华西临床医学院学生综合素质测评办法(非官方版)
- GB/T 73-2017开槽平端紧定螺钉
评论
0/150
提交评论