AJAX-入门
AJAX概念和axios使用
AJAX概念
- 使用浏览器的 XMLHttpRequest 对象 与服务器通信
- 浏览器网页中,使用 AJAX技术(XHR对象)发起获取省份列表数据的请求,服务器代码响应准备好的省份列表数据给前端,前端拿到数据数组以后,展示到网页
axios使用
语法:
- 引入
axios.js
:https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js - 使用axios函数
- 传入配置对象
- 再用
.then
回调函数接收结果,并做后续处理
1 | axios({ |
URL查询参数
定义:浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据
语法:http://xxxx.com/xxx/xxx?参数名1=值1&参数名2=值2
axios-查询参数
语法:使用 axios 提供的 params 选项
注意:axios 在运行时把参数名和值,会拼接到 url?参数名=值
城市列表:http://hmajax.itheima.net/api/city?pname=河北省
1 | axios({ |
常用请求方法和数据提交
请求方法:对服务器资源,要执行的操作
请求方法 | 操作 |
---|---|
GET | 获取数据 |
POST | 数据提交 |
PUT | 修改数据(全部) |
DELETE | 删除数据 |
PATCH | 修改数据(部分) |
数据提交:当数据需要在服务器上保存时
axios请求配置
url
:请求的URL地址
method
:请求的方法,GET可以省略(不区分大小写)
data
:提交数据
1 | axios({ |
axios错误处理
场景:再次注册相同的账号,会遇到报错信息
处理:用更直观的方式,给普通用户展示错误信息
1 | axios({ |
HTTP协议
HTTP协议:规定了浏览器发送及服务器返回内容的格式
请求报文
请求报文:浏览器按照 HTTP 协议要求的格式,发送给服务器的内容
请求报文的组成部分有:
- 请求行:请求方法,URL,协议
- 请求头:以键值对的格式携带的附带信息,比如:
Content-Type
- 空行:分隔请求头,空行之后的是发送给服务器的资源
- 请求体:发送的资源
响应报文
响应报文:服务器按照 HTTP 协议要求的格式,返回给浏览器的内容
响应报文组成部分:
- 响应行(状态行):协议、HTTP 响应状态码、状态信息
- 响应头:以键值对的格式携带的附加信息,比如:
Content-Type
- 空行:分隔响应头,空行之后的是服务器返回的资源
- 响应体:返回的资源
HTTP响应状态码
HTTP 响应状态码:用来表明请求是否成功完成
比如:404(服务器找不到资源)
状态码 | 说明 |
---|---|
1xx | 信息 |
2xx | 成功 |
3xx | 重定向消息 |
4xx | 客户端错误 |
5xx | 服务端错误 |
接口文档
接口文档:描述接口的文章(一般是后端工程师,编写和提供)
接口:指的使用 AJAX 和 服务器通讯时,使用的 URL,请求方法,以及参数,例如:AJAX阶段接口文档
例如:获取城市列表接口样子
form-serialize 插件
form-serialize 插件语法:
- 引入 form-serialize 插件到自己网页中
- 使用
serialize
函数
函数参数:
- 参数1:要获取的 form 表单标签对象(要求表单元素需要有 name 属性-用来作为收集的数据中属性名)
- 参数2:配置对象
- hash:
true - 收集出来的是一个 JS 对象结构
false - 收集出来的是一个查询字符串格式 - empty:
true - 收集空值
false - 不收集空值
- hash:
1 | <form action="javascript:;" class="example-form"> |
- 收集到的数据名称是表单名称
评论