### 前后端交互
#### 通過ajax調(diào)用接口,傳遞參數(shù),使用正確的方法,解析返回值進(jìn)行頁面的渲染,接口的連調(diào)
1. 確定接口是否報(bào)錯(cuò)
2. 確定傳遞參數(shù)
3. 確定返回值字段,返回值結(jié)構(gòu)
#### 前后端分離
在以往的開發(fā)模式中,前段就切圖就行,寫給點(diǎn)擊效果,頁面的數(shù)據(jù)渲染,都是有后端完成的,但是這個(gè)過程中,后端工作量大,效率低.
而前后端分離其實(shí)就是解脫后端,提升前端的價(jià)值(有了業(yè)務(wù));
前后端分離的職責(zé)
后端:接口開發(fā)
前端:頁面布局,動(dòng)態(tài)效果,數(shù)據(jù)渲染,邏輯控制
溝通稱為,前后端溝通(接口連調(diào))報(bào)錯(cuò)就問
### 前后端分離后,接口規(guī)范
如果后端提供接口沒有一定規(guī)范,那么前端操作非常復(fù)雜,所以一般公司都會(huì)有一定的接口規(guī)范
1. 地址
2. 方法
3. 狀態(tài)碼
4. 返回值的格式
最長用的接口規(guī)范RESTful API
### URl 設(shè)計(jì)
一個(gè)地址,多個(gè)方法,做不通的操作,動(dòng)詞(http請求方法) + 賓語(一個(gè)名字)
### 5中http請求方法
1. get? 獲取
2. post 發(fā)送
3. put? 整體更新
4. patch? 部分更新
5. delete? 刪除
對應(yīng)的就是crud(增刪改查)
### 狀態(tài)碼
服務(wù)給個(gè)客戶端相應(yīng)的狀態(tài)
http 狀態(tài)碼就是一個(gè)三位數(shù),分成五個(gè)類別
```
? ? 1xx:相關(guān)信息? 忽略
? ? 2xx:操作成功? 統(tǒng)統(tǒng)成功
? ? 3xx : 重定向? 接口請求中不常見,一般體現(xiàn)在資源請求
? ? 4xx:客戶端錯(cuò)誤
? ? 5xx:服務(wù)器錯(cuò)誤
```
### 狀態(tài)碼
```
400 : 請求有錯(cuò)誤
401 : 需要身份驗(yàn)證或者身份驗(yàn)證失敗
403 : 服務(wù)器拒絕請求
404 : 請求的資源未找到
405 : 請求的方法有錯(cuò)誤
422 : 請求的數(shù)據(jù)驗(yàn)證出現(xiàn)錯(cuò)誤
429 : 請求的頻率超過限制
5XX : 服務(wù)器內(nèi)部發(fā)生錯(cuò)誤
```
### 錯(cuò)誤名稱代碼
```
BadRequest : 請求錯(cuò)誤
ValidateFail : 數(shù)據(jù)驗(yàn)證失敗
Unauthorized : 身份驗(yàn)證失敗
Forbidden : 禁止訪問
TooManyRequests : 請求的頻率超過限制
NotFound : 請求的資源未找到
MethodNotAllowed : 請求的方法有錯(cuò)誤
InternalServerError : 服務(wù)器內(nèi)部錯(cuò)誤
```