網站首頁 編程語言 正文
一、react中axios模塊的使用
1、基于Promise的HTTP庫用在瀏覽器和node.js中
可以提供以下服務:
(1)從瀏覽器中創建XMLHttpRequest
(2)從node.js創建http請求
(3)支持PromiseAPI
(4)攔截請求和響應
(5)轉換請求數據和響應數據
(6)取消請求
(7)自動轉換JSON數據
(8)客戶端支持防御XSRF
2、創建XMLHttpRequest對象:
該對象是ajax(異步請求)的核心
3、在react中安裝axios
npm install axios
4、發起不帶參數的get請求
方式一:axios({ methods: 'get', url: '/ulr' }).then(res => {//請求成功后的處理 console.log(res) }).catch(err => {//請求失敗后的處理 console.error(err); })
'res'是服務器返回的響應數據
err是請求失敗后的信息
方式二:axios.get('/url').then(res => { console.log(res) }).catch(err => { console.error(err); })
5、帶參數的get請求
在服務器端獲取請求參數的方式--> req(request).query.參數名
方式一: axios.get('/url', {params: {id: 12}}).then(res => { console.log(res) }).catch(err => { console.error(err); }) //請求的地址實際為:http://localhost:8080/url?id=12
方式二:axios({ methods: 'get', url: 'url', params: { id:12 //'id'為參數名 } }).then(res => { console.log(res) }).catch(err => { console.error(err); })
6、post請求:發送表單數據和文件上傳
(1)不帶參數的post請求
方法一:axios({ method:'post', url:'/url' }).then(res=>{}) .catch(err=>{})
方法二:axios.post('url') .then(res=>{}) .catch(err=>{})
(2)帶參數的post請求:在服務器端獲取請求參數的方式-->req.body.參數名
服務器端使用req.body.參數名 獲取數據 let data = {} let config = {} 方式一: axios.post('/url',{id:12}).then(res => { console.log(res) }).catch(err => { console.error(err); })
方式二: axios({ methods: 'post', url: '/url', data: {id:12} }).then(res => { console.log(res) }).catch(err => { console.error(err); })
7、put請求
和post請求類似
8、delete請求
(1)可以像get請求一樣包裝請求參數:在服務器端獲取請求參數的方式--req.query.參數名
參數在url的params中:服務器端使用req.query.參數名 獲取數據 axios.delete('/url', { params: {id: 12} //'id'為參數名 }).then(res => { console.log(res) }).catch(err => { console.error(err); })
(2)可以像post請求一樣包裝請求參數:在服務器端獲取請求參數的方式--req.body.參數名
參數在請求體(post)中 將params改為 data就行:服務器端使用req.body.參數名 獲取數據 axios.delete('/url', { data: {id: 12} //'id'為參數名 }).then(res => { console.log(res) }).catch(err => { console.error(err); })
強調:axios的響應結構
后臺: res.json(result)
? //發送了json格式的數據
相當于:{ data: result }
前端: res.data
例如:
后臺:
res.json({ code:1001, msg: '小森' })
?前端:
res.data.code
res.data.msg
總結
原文鏈接:https://blog.csdn.net/Han_Zhou_Z/article/details/123345319
相關推薦
- 2022-05-20 ASP.NET?MVC模式中應用程序結構詳解_基礎應用
- 2022-08-08 redis如何實現保存對象_Redis
- 2022-05-06 C++提取文件名與提取XML文件的方法詳解_C 語言
- 2022-11-26 React常見跨窗口通信方式實例詳解_React
- 2022-03-29 帶你了解C++中vector的用法_C 語言
- 2023-05-20 linux?shell輸出換行簡單實例_linux shell
- 2022-04-04 css:動畫 小米官網盒子陰影 心跳動畫
- 2024-01-27 Rosetta error:bad input問題(解決)
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支