亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

axios到底哪里好

axios到底哪里好

幕布斯6054654 2019-05-24 16:01:56
最近嘗試vue,使用axios發送post請求:axiosExample里面是這樣的://PerformingaPOSTrequestaxios.post('/user',{firstName:'Fred',lastName:'Flintstone'}).then(function(response){console.log(response);}).catch(function(error){console.log(error);});下面的例子也不行://SendaPOSTrequestaxios({method:'post',url:'/user/12345',data:{firstName:'Fred',lastName:'Flintstone'}});上面的官方代碼我怎么嘗試都行不通,不管怎樣,發送的都不是post,而是options。我在網上查看了一些解決方法,比如說使用兼容度并不怎么好的URLSearchParams和引入qs,或者直接JSON.stringify,但是發送過去的數據就是純字符串了,后端收到還需要轉一下才能用,為什么不按照常規的方式來發送數據,就像jQuery的ajax方法一樣。那么問題來了,我真的有必要為了發送post請求而使用兼容并不好的URLSearchParams或者為此引入一個qs庫么?axios 到底有哪里好? 為什么官方的例子卻行不通?
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

...。這里的options應該是跨域(復雜跨域請求)的預先請求,用來確定有沒有跨域權限。你拿jquery.ajax發跨域請求,也會有一個options請求。和vue,axios沒有關系。和vue,axios沒有關系。和vue,axios沒有關系。
qs轉參數是因為axios默認支持application/json請求頭與json數據格式。使用其他請求頭和form-data的數據格式需要手動設置請求頭和qs轉換格式。
qs是用來做序列化的,JSON.stringify也是做序列化處理的,但你要知道他們序列化的結果是不一樣的。
vara={b:1,c:2}
qs-->"b=1&c=2"(這個叫query字符串嗎)
JSON.stringify:{"b":1,"c":2}(json字符串)
                            
查看完整回答
反對 回復 2019-05-24
?
www說

TA貢獻1775條經驗 獲得超8個贊

你如果只是單純的發送一個post請求,你可以用你覺得怎樣方便,怎樣寫的形式實現。如果你項目比較大,比較復雜,需要對系統中大多數請求發送前添加heder,對返回結果做統一的報錯處理,用axios會比較方便,你覺得難用,僅僅是你目前暫時還不會用而已,而不是它真的難用。我覺得你需要了解下application/x-www-form-urlencodedapplication/jsontext/xml這幾種的區別,以及http請求中Content-Type所代表的含義
                            
查看完整回答
反對 回復 2019-05-24
  • 2 回答
  • 0 關注
  • 587 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號