Ajax

2022.4.20 学习笔记

目录

一、服务器的基本概念与初识Ajax

1.1 客户端与服务器

1.1.1 上网的目的

1.1.2 服务器

1.1.3 客户端

1.2 URL地址

1.2.1 URL地址的概念

1.2.2 URL地址的组成部分

1.3 分析网页的打开过程

1.3.1 图解客户端与服务器的通信过程

1.4 服务器对外提供了哪些资源

1.4.1 例举网页中常见的资源

1.4.2 数据也是资源

1.4.3 网页中如何请求数据

1.4.4 资源的请求方式

1.5 了解Ajax

1.5.1 什么是Ajax

1.5.2 为什么要学Ajax

1.5.3 Ajax的典型应用场景

1.6 jQuery中的Ajax

1.6.1 了解jQuery中的Ajax

1.6.2 $.get()函数的语法

1.6.3 $.post()函数的语法

1.6.4 $.ajax()函数的语法

1.7 接口

1.7.1 接口的概念

1.7.2 分析接口的请求过程

1.7.3 接口测试工具

1.7.4 使用Apipost测试GET接口

1.7.5 使用Apipost测试POST接口

1.7.6 接口文档


一、服务器的基本概念与初识Ajax

1.1 客户端与服务器

1.1.1 上网的目的

上网的本质目的:通过互联网的形式来获取和消费资源

1.1.2 服务器

上网过程中,负责存放和对外提供资源的电脑,叫做服务器

1.1.3 客户端

上网过程中,负责获取和消费资源的电脑,叫做客户端

1.2 URL地址

1.2.1 URL地址的概念

URL(全称是UniformResourceLocator)中文叫统一资源定位符用于标识互联网上每个资源的唯一存放位置。浏览器只有通过URL地址,才能正确定位资源的存放位置,从而成功访问到对应的资源。

常见的URL举例:http://www.baidu.com、http://www.taobao.com

1.2.2 URL地址的组成部分

URL地址一般由三部组成:

① 客户端与服务器之间的通信协议

② 存有该资源的服务器名称

③ 资源在服务器上具体的存放位置

1.3 分析网页的打开过程

1.3.1 图解客户端与服务器的通信过程

1. 客户端:打开浏览器 + 输入要访问的网站地址 + 回车,向服务器发起资源请求

2. 服务器:服务器接收到客户端发来的资源请求 + 服务器在内部处理这次请求,找到相关的资源 + 服务器把找到的资源,响应(发送)给客户端

注意:

① 客户端与服务器之间的通信过程,分为 请求 – 处理 – 响应 三个步骤。

② 网页中的每一个资源,都是通过 请求 – 处理 – 响应 的方式从服务器获取回来的。

1.3.2 基于浏览器的开发者工具分析通信过程

1. 打开 Chrome 浏览器

2. F12打开 Chrome 的开发者工具

3. 切换到 Network 面板

4. 选中 Doc 页签

5. 刷新页面,分析客户端与服务器的通信过程

1.4 服务器对外提供了哪些资源

1.4.1 例举网页中常见的资源

etc...

1.4.2 数据也是资源

网页中的数据,也是服务器对外提供的一种资源。例如股票数据、各行业排行榜等。

  • HTML是网页的骨架。
  • CSS是网页的颜值。
  • Javascript是网页的行为。
  • 数据,则是网页的灵魂。CSS、HTML、JavaScript皆为数据服务。

1.4.3 网页中如何请求数据

数据,也是服务器对外提供的一种资源。只要是资源,必然要通过 请求 – 处理 – 响应 的方式进行获取。

如果要在网页中请求服务器上的数据资源,则需要用到 XMLHttpRequest 对象

XMLHttpRequest(简称 xhr)是浏览器提供的 js 成员通过它,可以请求服务器上的数据资源。最简单的用法 var xhrObj = new XMLHttpRequest()

1.4.4 资源的请求方式

客户端请求服务器时,请求的方式有很多种,最常见的两种请求方式分别为 get 和 post 请求。

  • get 请求通常用于获取服务端资源(向服务器要资源)

例如:根据 URL 地址,从服务器获取 HTML 文件、css 文件、js文件、图片文件、数据资源等

  • post 请求通常用于向服务器提交数据(往服务器发送资源)

例如:登录时向服务器提交的登录信息、注册时向服务器提交的注册信息、添加用户时向服务器提交的用户信息等各种数据提交操作

1.5 了解Ajax

1.5.1 什么是Ajax

Ajax 的全称是 Asynchronous Javascript And XML(异步 JavaScript 和 XML)

通俗的理解:在网页中利用 XMLHttpRequest 对象和服务器进行数据交互的方式,就是Ajax。

1.5.2 为什么要学Ajax

之前所学的技术,只能把网页做的更美观漂亮,或添加一些动画效果,但是,Ajax能让我们轻松实现网页与服务器之间的数据交互

1.5.3 Ajax的典型应用场景

1. 用户名检测:注册用户时,通过 ajax 的形式,动态检测用户名是否被占用

2. 搜索提示:当输入搜索关键字时,通过 ajax 的形式,动态加载搜索提示列表

3. 数据分页显示:当点击页码值的时候,通过 ajax 的形式,根据页码值动态刷新表格的数据

4. 数据的增删改查:数据的添加、删除、修改、查询操作,都需要通过 ajax 的形式,来实现数据的交互

1.6 jQuery中的Ajax

1.6.1 了解jQuery中的Ajax

浏览器中提供的 XMLHttpRequest 用法比较复杂,所以 jQuery 对 XMLHttpRequest 进行了封装,提供了一系列 Ajax 相关的函数,极大地降低了 Ajax 的使用难度。

jQuery 中发起 Ajax 请求最常用的三个方法如下:$.get()、$.post()、$.ajax()

1.6.2 $.get()函数的语法

jQuery 中 $.get() 函数的功能单一,专门用来发起 get 请求,从而将服务器上的资源请求到客户端来进行使用

$.get() 函数的语法如下:

$.get(url, [data], [callback])

其中,三个参数各自代表的含义如下:

1. $.get()发起不带参数的请求

使用 $.get() 函数发起不带参数的请求时,直接提供请求的 URL 地址和请求成功之后的回调函数即可,示例代码如下:

$.get('http://www.liulongbin.top:3006/api/getbooks', function(res) {
    console.log(res) // 这里的 res 是服务器返回的数据
})

2. $.get()发起带参数的请求

使用 $.get() 函数发起带参数的请求时,示例代码如下:

$.get('http://www.liulongbin.top:3006/api/getbooks', { id: 1 }, function(res) {
    console.log(res)
})

1.6.3 $.post()函数的语法

jQuery 中 $.post() 函数的功能单一,专门用来发起 post 请求,从而向服务器提交数据。

$.post() 函数的语法如下:

$.post(url, [data], [callback])

其中,三个参数各自代表的含义如下:

1. $.post()向服务器提交数据

使用 $post() 向服务器提交数据的示例代码如下:

$.post(
   'http://www.liulongbin.top:3006/api/addbook', // 请求的URL地址
   { bookname: '水浒传', author: '施耐庵', publisher: '上海图书出版社' }, // 提交的数据
   function(res) { // 回调函数
      console.log(res)
   }
)

1.6.4 $.ajax()函数的语法

相比于 $.get() 和 $.post() 函数,jQuery 中提供的 $.ajax() 函数,是一个功能比较综合的函数,它允许我们对 Ajax 请求进行更详细的配置。

$.ajax() 函数的基本语法如下:

$.ajax({
   type: '', // 请求的方式,例如 GET 或 POST
   url: '',  // 请求的 URL 地址
   data: { },// 这次请求要携带的数据
   success: function(res) { } // 请求成功之后的回调函数
})

1. 使用$.ajax()发起GET请求 

使用 $.ajax() 发起 GET 请求时,只需要将 type 属性的值设置为 'GET' 即可:

$.ajax({
   type: 'GET', // 请求的方式
   url: 'http://www.liulongbin.top:3006/api/getbooks',  // 请求的 URL 地址
   data: { id: 1 },// 这次请求要携带的数据
   success: function(res) { // 请求成功之后的回调函数
       console.log(res)
   }
})

2. 使用$.ajax()发起POST请求

使用 $.ajax() 发起 POST 请求时,只需要将 type 属性的值设置为 'POST' 即可:

$.ajax({
   type: 'POST', // 请求的方式
   url: 'http://www.liulongbin.top:3006/api/addbook',  // 请求的 URL 地址
   data: { // 要提交给服务器的数据
      bookname: '水浒传',
      author: '施耐庵',
      publisher: '上海图书出版社'
    },
   success: function(res) { // 请求成功之后的回调函数
       console.log(res)
   }
})

1.7 接口

1.7.1 接口的概念

使用 Ajax 请求数据时,被请求的 URL 地址,就叫做数据接口(简称接口。同时,每个接口必须有请求方式。

例如:

http://www.liulongbin.top:3006/api/getbooks  获取图书列表的接口(GET请求)

http://www.liulongbin.top:3006/api/addbook   添加图书的接口(POST请求)

1.7.2 分析接口的请求过程

1. 通过GET方式请求接口的过程

2. 通过POST方式请求接口的过程

1.7.3 接口测试工具

什么是接口测试工具

为了验证接口能否被正常被访问,我们常常需要使用接口测试工具,来对数据接口进行检测。

好处:接口测试工具能让我们在不写任何代码的情况下,对接口进行调用和测试

        

1.7.4 使用Apipost测试GET接口

步骤:

1. 选择请求的方式

2. 填写请求的URL地址

3. 填写请求的参数

4. 点击 Send 按钮发起 GET 请求

5. 查看服务器响应的结果

1.7.5 使用Apipost测试POST接口

步骤:

1. 选择请求的方式

2. 填写请求的URL地址

3. 选择 Body 面板并勾选数据格式

4. 填写要发送到服务器的数据

5. 点击 Send 按钮发起 POST 请求

6. 查看服务器响应的结果

1.7.6 接口文档

1. 什么是接口文档

接口文档,顾名思义就是接口的说明文档,它是我们调用接口的依据。好的接口文档包含对接口URL,参数以及输出内容的说明,我们参照接口文档就能方便的知道接口的作用,以及接口如何进行调用。

2. 接口文档的组成部分

接口文档可以包含很多信息,也可以按需进行精简,不过,一个合格的接口文档,应该包含以下6项内容,从而为接口的调用提供依据:

1. 接口名称:用来标识各个接口的简单说明,如登录接口,获取图书列表接口等。

2. 接口URL:接口的调用地址。

3. 调用方式:接口的调用方式,如 GET 或 POST。

4. 参数格式:接口需要传递的参数,每个参数必须包含参数名称、参数类型、是否必选、参数说明这4项内容。

5. 响应格式:接口的返回值的详细描述,一般包含数据名称、数据类型、说明3项内容。

6. 返回示例(可选):通过对象的形式,例举服务器返回数据的结构。

3. 接口文档示例

案例 - 图书管理

用到的 css 库 bootstrap.css
用到的 javascript 库 jquery.js
用到的 vs code 插件 Bootstrap 3 Snippets

1. 渲染图书列表

(另:

在jQuery中,append()方法可以用于向所选元素内部的“末尾处”插入指定内容;语法格式“$(A).append(B)”,表示往A元素内部的末尾处插入B内容(可包含HTML标签)。

join() 将数组单元中存储的数据,拼接为一个字符串。语法格式 数组.join('间隔符号'):在拼接的字符串中数组单元各数据之间默认以逗号 , 为间隔。

2. 删除图书

3. 添加图书

(另:trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值