一句话来说:
Ajax本质:不刷新页面发请求
点按钮→拿数据→更新页面,页面不闪
Promise封装Ajax 把异步请求包装成Promise
网络请求代码如下(显示状态在控制台)
我遇到的问题
| 坑 | 错误理解 | 正确理解 |
|---|---|---|
:path是什么 | 以为是HTML文件名 | 是请求的目标路径(如/todos/1) |
| 200状态码 | 以为是端口5500返回的 | 是目标服务器(jsonplaceholder)返回的 |
| 端口号 | 以为端口号=网站 | 端口号=程序的门牌号 |
| 前端端口 vs 后端端口 | 以为必须一样 | 不一样!前端请求时写对后端端口就行 |
this.response | 不知道是啥 | 就是后端返回的数据 |
completed: false | 以为代码失败了 | 请求成功了(200),只是数据内容是"未完成" |
端口号 vs 状态码 vs 接口号
1️⃣ 端口号是什么?
端口号 = 同一台电脑上不同程序的“门牌号”
| 端口 | 谁在用 |
|---|---|
| 5500 | Live Server(打开 HTML 的那个小服务器) |
| 3306 | MySQL 数据库 |
| 3000 | 后面要写的 Node.js 后端 |
| 443 | HTTPS 默认端口(jsonplaceholder 用的) |
👉 端口号是“本地/服务器上的程序入口”,不是“网站”本身。
2️⃣ 状态码是什么?
状态码 = 后端对前端说“这次请求结果怎么样”
| 状态码 | 含义 |
|---|---|
| 200 | 成功,数据在这里 |
| 404 | 地址不存在 |
| 500 | 服务器自己出错了 |
👉 状态码是“对话结果”,端口号是“找到正确的门” 。
3️⃣ 接口号必须一致吗?
| 场景 | 必须一致的东西 |
|---|---|
| 前端访问后端 | 端口号(如 3000) |
| Node.js 连接 MySQL | 端口号(3306) |
但是:前端端口(5500)和后端端口(3000)不需要一样,它们只是不同程序。
👉 不需要让前端端口 = 后端端口,只需要前端请求时写对后端端口。