Ajax
服务器的基本概念与初始Ajax
能够知道服务器相关的基本概念
能够知道客户端与服务器通信的过程
能够知道数据也是一种资源
能够说出什么是Ajax以及应用场景
能够使用jQuery中的Ajax函数请求数据
能够知道接口和接口文档的概念
客户端与服务器
-
上网的本质目的:通过互联网的形式来获取和消费资源
-
服务器:负责存放和对外提供的电脑,叫做服务器
-
客户端:负责获取和消费资源的电脑,叫做客户端
URL地址
-
URL(UniformResourceLocator),统一资源定位符,用于标识互联网上每个资源的唯一存放位置,浏览器只有通过URL地址,才能正确定位资源的存放位置,从而成功访问到对应的资源
-
URL地址组成部分
-
客户端与服务器的通信协议
-
存有该资源的服务器名称
-
资源在服务器上具体的存放位置
-
分析网页的打开过程
-
客户端请求服务器
-
打开浏览器
-
输入要访问的网站地址
-
回车,向服务器发起资源请求
-
-
服务器处理这次请求
-
服务器接收到客户端发来的资源请求
-
服务器在内部处理这次请求,找到相关的资源
-
服务器把找到的资源,响应(发送)给客户端
-
-
服务器响应客户端
-
请求 → 处理 → 响应
-
基于浏览器的开发者工具分析通信过程
-
打开浏览器
-
调出开发者工具
-
切换到Network面板
-
选中Doc标签
-
刷新页面,分析客户端与服务器的通信过程
-
服务器对外提供了哪些资源
-
网页中长常见的资源
-
文字内容
-
图片
-
音频
-
视频
-
......
-
-
网页中的数据是不是资源?
-
网页中的数据,也是服务器对外提供的一种资源
-
数据是网页的灵魂
-
-
网页中如何请求数据
-
数据,也是服务器对外提供的一种资源,只要是资源,必然要通过请求处理响应的方式进行获取
-
如果要在网页中请求服务器上的数据资源,则需要用到XMLHttpRequest对象
-
XMLHttpRequest(简称xhr)是浏览器提供的js成员,通过它,可以请求服务器上的数据资源
-
最简单的用法:var xhrObj = new XMLHttpRequest()
-
-
资源的请求方式
客户端请求服务器的时,请求的方式有很多种,最常见的两种请求方式分别为get和post请求
-
get请求通常用于获取服务器资源(向服务器要资源)
-
post请求通常用于向服务器提交数据(往服务器发送资源)
-
了解Ajax
-
什么是Ajax?
-
Ajax的全称是Asynchronous JavaScript And XML(异步的JavaScript和XML)
-
在网页中利用XMLHttpRequest对象和服务器进行数据交互的方式,就是Ajax
-
-
为什么要学Ajax?
-
Ajax能够让我们轻松实现网页与服务器之间的数据交互
-
-
Ajax的典型应用场景
-
用户名检测
-
搜索提示
-
数据分页显示
-
数据的增删改查
-
jQuery中的Ajax
-
了解jQuery中的Ajax
-
浏览器中提供的XMLHttpRequest用法比较复杂,所以jQuery对XMLHttpRequest进行了封装,提供了一系列Ajax相关的函数,极大地降低了Ajax的使用难度
-
jQuery中发起Ajax请求最常用的三个方法:
-
$.get()
-
$.post()
-
$.ajax()
-
-
-
$.get()
-
jQuery中$.get()函数的功能单一,专门用来发起get请求,从而将服务器上的资源请求到客户端进行使用
-
$.get()语法:$.get(url[,data,callback])
-
url:string,必选,要请求的资源地址
-
data:object,可选,请求资源期间要携带的参数
-
callback:function,可选,请求成功时的回调函数
-
-
-
-
$post()
-
jQuery中$.post()函数的功能单一,专门用来发起post请求,从而向服务器提交数据
-
$.post()语法:$.post(url[,data,callback])
-
url:string,必选,提交数据的地址
-
data:object,可选,要提交的数据
-
callback:function,可选,数据提交成功时的回调函数
-
-
-
-
$.ajax()
-
jQuery中提供的$.ajax()函数,是一个功能比较综合的函数,它允许我们对Ajax请求进行更详细的配置
-
$.ajax()语法:$.ajax({type: '', // 请求的方式 url: '', // 请求的URL地址 data:{}, // 请求要携带的数据success: function(res){} // 请求成功之后的回调函数})
-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="jquery-2.0.0.min.js"></script>
</head>
<body>
<script>
// $.ajax()发起get请求
$(function() {
$.ajax({
type: 'GET',
url: 'http://www.liulongbin.top:3006/api/getbooks',
data: {
id: 1
},
success: function(res) {
console.log(res);
}
})
})
// $.ajax()发起post请求
$(function() {
$.ajax({
type: 'POST',
url: 'http://www.liulongbin.top:3006/api/addbook',
data: {
bookname: '史记',
author: 'itheima',
publisher: '传智播客'
},
success: function(res) {
console.log(res);
}
})
})
</script>
</body>
</html>
-
接口
-
接口的概念
-
使用Ajax请求数据时,被请求的URL地址,就叫做数据接口(接口),同时,每个接口必须有请求方式
-
-
分析接口的请求过程
-
请求处理响应
-
-
接口测试工具
-
为了验证接口能否被正确访问,我们常常需要使用接口测试工具,来对数据接口进行测试
-
好处:接口测试工具能让我们在不写任何代码的情况下,对接口进行调用和测试
-
-
-
-
接口文档
-
接口文档,顾名思义就是接口的说明文档,它是我们调用接口的依据,好的接口文档包含了对接口URL、参数以及输出内容的说明,我们参照接口文档就能方便的知道接口的作用,以及接口如何调用
-
接口文档的组成部分
-
接口名称:用来标识各个接口的简单说明
-
接口URL:接口的调用地址
-
调用方式:接口的调用方式
-
参数格式:接口传递的参数,每个参数必须包含参数名称、参数类型、是否必选、参数说明四项内容
-
响应格式:接口的返回值的详细描述,一般包含数据名称、数据类型、说明三项内容
-
返回示例(可选):通过对象的形式,举例服务器返回数据的结构
-
-
案例-图书管理
案例-聊天机器人
form表单与模板引擎
能够说出form表单的常用属性
能够知道如何阻止表单的默认提交行为
能够知道如何使用jQuery快速获取表单数据
能够知道如何安装和使用模板引擎
能够知道模板引擎的实现原理
form表单的基本使用
-
什么是表单?
-
表单在网页中主要复杂数据采集功能,HTML中的form标签,就是用于采集用户输入的信息,并通过form标签的提交操作,把采集的信息提交到服务器端进行处理
-
-
表单的组成部分
-
表单标签
-
表单域
-
表单按钮
-
-
from标签的属性
-
-
表单同步提交及缺点
-
什么是表单的同步提交?
-
通过点击submit按钮,触发表单提交操作,从而使页面跳转到action URL行为,叫做表单的同步提交
-
-
表单同步提交的缺点
-
表单同步提交后,整个页面会发生跳转,跳转到action URL所指向的地址,用户体验很差
-
表单同步提交后,页面之前的状态和数据会丢失
-
-
解决方案:
-
表单只负责采集数据,Ajax负责将数据提交到服务器
-
-
通过Ajax提交表单数据
-
监听表单的提交事件
-
在jQuery中,可以使用如下两种方式,监听到表单的提交事件
-
-
-
阻止表单的默认提交行为
-
当监听到表单的提交事件以后,可以调用事件对象的event.preventDefault()函数,来阻止表单的提交和页面的跳转
-
-
-
快速获取表单中的数据
-
为了简化表单中数据的获取操作,jQuery提供了serialize()函数,其语法格式如下:$(selector).serialize()
-
serialize()函数的好处:可以一次性获取到表单中所有的数据
-
在使用serialize()函数快速获取表单数据时,必须为每个表单元素添加name属性
-
-
-
快速重置表单数据
-
原生DOM提供了reset()函数
-
案例-评论列表
模板引擎的基本概念
-
渲染UI结构时遇到的问题
-
如果UI结构比较复杂,则拼接字符串的时候需要格外注意引号之间的嵌套,一旦需求发生变化,修改起来非常麻烦
-
-
什么是模板引擎?
-
模板引擎,顾名思义,它可以根据程序员指定的模板结构和数据,自动生成一个完整的HTML页面
-
-
模板引擎的好处
-
减少了字符串的拼接操作
-
使代码结构更清晰
-
使代码更易于阅读和维护
-
art-template模板引擎
-
art-template使一个简约、超快的模板引擎
-
-
art-template安装
-
-
art-template的使用步骤
-
导入art-template
-
定义数据
-
定义模板
-
调用template函数
-
渲染HTML结构
-
-
