成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

axios的使用

lieeps / 3061人閱讀

摘要:但是如果你想以的方式傳參,則需要做一點(diǎn)改變參考這里注意如果你的請(qǐng)求方法是,又規(guī)定了參數(shù)格式是,則必須要使用下面這些方法中的一種。

axios是vue官方推薦的http庫,詳情見官方中文文檔。

安裝:
npm install axios

安裝依賴:

npm install --save axios vue-axios

配置模板:

//main.js中
import Vue from "vue"
import axios from "axios"
import VueAxios from "vue-axios"
 
Vue.use(VueAxios, axios)
//然后你就能愉快地使用axios啦

如果不想這樣安裝,也可以快速引用它:

如何使用:

有好幾種方法,get post delete put patch 什么的,不過我通常就用get和post兩種,所以我就記錄這種中的使用方法了。

let data = {   //要傳的參數(shù)
    "loginName":"123456",
    "passWord":"123456",
    "updateSign":"52af3ce8a82f62707789fe00899ed3f0",
    "isLogin":"1"
}


//post請(qǐng)求

this.axios.post("/api/user/sickUserLogin/3",data)
    .then((response) {
        console.log(response);
    })
    .catch(function (error) {
        console.log(error);
    });
 
    
//get請(qǐng)求

this.axios.get("/api/user/sickUserLogin/3",{params:data})
    .then((response) => {
        console.log(response.data);
        console.log(response);   
    })
    .catch(function (error) {
        console.log(error);
    });

這里要注意一點(diǎn)的是:get和post請(qǐng)求的傳參方式是不一樣的,原因可以參考這里

axios.get("url", {params: data});
axios.post("url", data);

//get請(qǐng)求的參數(shù)是拼接url字符串傳遞的;
//post請(qǐng)求的參數(shù)是通過data請(qǐng)求主體傳遞的;

參數(shù)格式:

axios的默認(rèn)參數(shù)格式是json字符串,傳參方式就像上面那個(gè)demo一樣即可。但是如果你想以key:value的方式傳參,則需要做一點(diǎn)改變:參考這里
注意:如果你的請(qǐng)求方法是post,又規(guī)定了參數(shù)格式是application/x-www-form-urlencoded,則必須要使用下面這些方法中的一種。(我在寫demo的時(shí)候測(cè)試了一下,post方法下json傳參格式是失敗的,必須要改成鍵值對(duì)的格式,否則會(huì)報(bào)錯(cuò))
主要推薦這種寫法:

var qs = require("qs");
axios.post("/foo", qs.stringify({ "bar": 123 }));

這個(gè)方法需要先安裝一下qs:

npm install qs

import qs from "qs"

Vue.prototype.qs = qs;  //全局定義,使用的時(shí)候用this.qs.stringify(data)即可

還有另一種寫法淺顯易懂:

var params = new URLSearchParams();    //這種寫法不需要引入qs
params.append("collectId","16");       //你要傳給后臺(tái)的參數(shù)值 key/value
params.append("collectTye","2");
params.append("isCancel","2",);


this.$axios({
    method: "post",
    url:url,
    data: params 
}).then((res)=>{

})

設(shè)置axios的baseURL:

//在main.js中:
axios.defaults.baseURL = "http://api.eeesys.com:18087/";
//這些具體的寫法可以多看幾遍文檔,就懂了,我也不是很懂
//根據(jù)我的測(cè)驗(yàn),這樣寫了之后,請(qǐng)求會(huì)忽略掉proxyTable中的配置,直接請(qǐng)求這個(gè)地址,這樣在生產(chǎn)環(huán)境下就可以跨域了,不知道是不是這樣的

重新定義一個(gè)axios實(shí)例:

const $axios = axios.create({
    baseURL: "http://api.eeesys.com:18087/",
    timeout: 5000,
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
});

// 初始化默認(rèn)post header,這里規(guī)定了post請(qǐng)求的傳參格式是application/x-www-form-urlencoded
//如果不這樣寫,后臺(tái)接收到的參數(shù)是null
$axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
Vue.prototype.$axios = $axios;

這樣就可以在代碼中使用自己定義的axios實(shí)例,沒有配置的屬性會(huì)繼承l(wèi)ib/defaults.js文件中的設(shè)置

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/94303.html

相關(guān)文章

  • Axios源碼深度剖析 - AJAX新王者

    摘要:我們先來看看構(gòu)造函數(shù)構(gòu)造函數(shù)就是用來實(shí)現(xiàn)攔截器的,這個(gè)構(gòu)造函數(shù)原型上有個(gè)方法。關(guān)于源碼,其實(shí)是比較簡單的,都是用來操作該構(gòu)造函數(shù)的實(shí)例屬性的。存放攔截器方法,數(shù)組內(nèi)每一項(xiàng)都是有兩個(gè)屬性的對(duì)象,兩個(gè)屬性分別對(duì)應(yīng)成功和失敗后執(zhí)行的函數(shù)。 Axios源碼分析 - XHR篇 文章源碼托管在github上,歡迎fork指正! axios 是一個(gè)基于 Promise 的http請(qǐng)求庫,可以用在瀏覽...

    DangoSky 評(píng)論0 收藏0
  • axios 中文文檔 翻譯

    摘要:返回狀態(tài)碼,如果返回或者設(shè)置成,將會(huì)其他的將。一些錯(cuò)誤是在設(shè)置請(qǐng)求時(shí)觸發(fā)的你可以使用設(shè)置選項(xiàng)自定義狀態(tài)碼的錯(cuò)誤范圍。 axios 版本:v0.18.0 0.18.0的版本更新有一段時(shí)間了,使用起來跟原先基本沒有什么變化。但是增加了一些功能,例如錯(cuò)誤處理的辨別,于07-06-2018重新翻譯和校驗(yàn)了該翻譯,更正了一些錯(cuò)別字和表達(dá)不準(zhǔn)的地方,但是難免仍有錯(cuò)誤,歡迎指出。 由于工作需要,個(gè)人...

    verano 評(píng)論0 收藏0
  • Vue+Typescript中在Vue上掛載axios使用時(shí)報(bào)錯(cuò)

    摘要:也就是說我們手動(dòng)在原型身上掛載無法識(shí)別到。這樣就完美避免了報(bào)錯(cuò)的問題。說明使用進(jìn)行開發(fā)的過程中,會(huì)遇到各種各樣的報(bào)錯(cuò)問題,希望記錄下來,避免下次再次踩坑,也希望幫助其他人。 Vue+Typescript中在Vue上掛載axios使用時(shí)報(bào)錯(cuò) 在vue項(xiàng)目開發(fā)過程中,為了方便在各個(gè)組件中調(diào)用axios,我們通常會(huì)在入口文件將axios掛載到vue原型身上,如下:main.ts import...

    AaronYuan 評(píng)論0 收藏0
  • vue2.0+axios+mock+axios-mock+adapter實(shí)現(xiàn)登陸

    摘要:做項(xiàng)目過程中,需要用到后臺(tái)模擬數(shù)據(jù),在機(jī)緣巧合下發(fā)現(xiàn)了,在學(xué)習(xí)使用的過程中又偶遇了。 做項(xiàng)目過程中,需要用到后臺(tái)模擬數(shù)據(jù),在機(jī)緣巧合下發(fā)現(xiàn)了mock,在學(xué)習(xí)使用的過程中又偶遇了axios-mock-adapter。現(xiàn)在將實(shí)例展示如下: 準(zhǔn)備 實(shí)例是建立在vue-cli的基礎(chǔ)上實(shí)現(xiàn)需要提前安裝的插件有:axios:npm install axio --savemockjs:npm ins...

    RancherLabs 評(píng)論0 收藏0
  • Axios學(xué)習(xí)筆記

    摘要:表示應(yīng)該使用基礎(chǔ)驗(yàn)證,并提供數(shù)據(jù)。表示服務(wù)器響應(yīng)的數(shù)據(jù)類型,可以是,,,,,,默認(rèn)值是承載的值的頭的名稱。對(duì)原生進(jìn)度事件的處理定義允許的響應(yīng)內(nèi)容的最大尺寸?;菊J(rèn)證的過程。后者將優(yōu)先于前者。 Axios說明 Axios是一個(gè)基于promise的HTTP庫,可以用在瀏覽器和node.js中。 安裝 使用npm: $ npm install axios 使用bower $ bower in...

    546669204 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<