摘要:簡介是一個基于的庫,可以用在瀏覽器和中主要是用于向后臺發(fā)起請求的,還有在請求中做更多是可控功能。
簡介
axios是一個基于 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中 主要是用于向后臺發(fā)起請求的,還有在請求中做更多是可控功能。特點
從瀏覽器中創(chuàng)建 XMLHttpRequests 從 node.js 創(chuàng)建 http 請求 支持 Promise API 攔截請求和響應(yīng) 轉(zhuǎn)換請求數(shù)據(jù)和響應(yīng)數(shù)據(jù) 取消請求 自動轉(zhuǎn)換 JSON 數(shù)據(jù) 客戶端支持防御 XSRF安裝
使用 npm: $ npm install axios 使用 bower: $ bower install axios 使用 cdn:使用
import axios from "axios" import router from "../router/index" import Message from "ant-design-vue/es/message" import Cookies from "js-cookie" const service = axios.create({ baseURL: "/api", // 統(tǒng)一請求路徑前綴 timeout: 15000// 請求超時時間 }) service.interceptors.request.use(config => { let sessionId = Cookies.get("X-SESSION-ID") || "" if (sessionId) { config.headers["X-SessionId"] = sessionId // 讓每個請求攜帶自定義token 請根據(jù)實際情況自行修改 } return config }, err => { Message.error("請求超時") return Promise.reject(err) }) // http response 攔截器 service.interceptors.response.use(response => { const data = response.data // 根據(jù)返回的code值來做不同的處理(和后端約定) switch (data.code) { case 401: // 未登錄 清除已登錄狀態(tài) router.push("/login") return Promise.reject(new Error("401")) case 403: // 沒有權(quán)限 if (data.message !== null) { Message.error(data.message) } else { Message.error("未知錯誤") } return Promise.reject(new Error("未知錯誤")) case 500: // 錯誤 if (data.message !== null) { Message.error(data.message) } else { Message.error("未知錯誤") } // return Promise.reject(new Error("未知錯誤")) return Promise.reject(data.message) default: return data } }, (err) => { // 這里是返回狀態(tài)碼不為200時候的錯誤處理 Message.error(err.toString()) return Promise.reject(err) }) export default serviceAPI使用
import request from "@/utils/request" // 所屬區(qū)域 export function getListByGroupStartAdminArea () { return request({ url: "/area/getListByGroupStartAdminArea" }) } // 直升機信息刪除 export function deleteCopter (data) { return request({ url: `/copter/deleteCopter`, method: "post", data }) }頁面使用
// 獲取區(qū)域列表 _getListByGroupStartAdminArea () { getListByGroupStartAdminArea().then(res => { this.options = res.payload }) },
// 刪除直升機信息 handleDelete(record) { let copter = this this.$confirm({ title: "直升機信息刪除", content: "請確認是否將此直升機刪除?", okText: "確定", cancelText: "取消", onOk() { deleteCopter({ id: record }).then(res => { copter.$message.error("刪除成功!") copter._getCopterList() }) }, onCancel() {} }) },
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/101609.html
摘要:廢話不多說,直接上代碼,本人也是菜雞如果有什么不對請指教為組件的插件按需引入。引入設(shè)置請求時間響應(yīng)攔截器如果返回的狀態(tài)碼為,說明請求數(shù)據(jù)成功注是我和公司后臺約定的狀態(tài)碼,具體的隨機應(yīng)變否則的話拋出錯誤請求不存在封裝方法封裝請求 廢話不多說,直接上代碼,本人也是菜雞 如果有什么不對請指教~ps: message為iview組件的插件 按需引入。 // 引入axios import ax...
摘要:前端框架作者推薦使用進行數(shù)據(jù)請求,的使用方法非常簡單,最近在使用碰到個小問題,于是記錄一下如果是管理前端項目的話,直接安裝就好,如果不是,那么直接引用就行了使用的時候在頁面的中引入,下面是的函數(shù)式寫法這里使用箭頭函數(shù),那么下面的指向就 vuejs前端框架作者推薦使用axios進行數(shù)據(jù)請求,axios的使用方法非常簡單,最近在使用vuejs碰到個小問題,于是記錄一下:1.如果是npm管理...
當時項目為了解決這個問題自閉了一個下午.....上網(wǎng)找了很多的文章看,幾乎都沒有根治方法,但是最后還是被我搞定了[]~( ̄▽ ̄)~* 問題描述: Vue的開發(fā)者都知道axios,很多都用axios來進行數(shù)據(jù)交互,axios的默認請求頭是Content-Type: application/json使用這個請求頭會出現(xiàn)向服務(wù)器請求兩次的情況為什么呢? 原因是:瀏覽器會首先使用 OPTIONS 方法發(fā)...
摘要:凡事有例外,以下分別對待不同情況服務(wù)器端配置即可客戶端配置,這樣大部分瀏覽器都支持跨域了,反正新版本下無問題。但放在默認設(shè)置下依然出現(xiàn)無法獲取的問題,至此,查資料查到解決存取的跨域問題,依照文中記載,在追加的響應(yīng)頭,解決了下的問題。 一般在生產(chǎn)環(huán)境下盡量可以通過nginx等反向代理,把vue前端和api接口處理成同一端口和域名。 在開發(fā)和測試時,也可以使用兼容性比較好的瀏覽器進行。 凡...
摘要:寫在前面最近在學(xué)習(xí),遇到有些頁面請求數(shù)據(jù)需要用戶登錄權(quán)限服務(wù)器響應(yīng)不符預(yù)期的問題,但是總不能每個頁面都做單獨處理吧,于是想到提供了攔截器這個好東西,再于是就出現(xiàn)了本文。 1.寫在前面 最近在學(xué)習(xí)Vue2,遇到有些頁面請求數(shù)據(jù)需要用戶登錄權(quán)限、服務(wù)器響應(yīng)不符預(yù)期的問題,但是總不能每個頁面都做單獨處理吧,于是想到axios提供了攔截器這個好東西,再于是就出現(xiàn)了本文。 2.具體需求 用戶鑒...
閱讀 2967·2021-11-25 09:43
閱讀 3633·2021-08-31 09:41
閱讀 1237·2019-08-30 15:56
閱讀 2119·2019-08-30 15:55
閱讀 2993·2019-08-30 13:48
閱讀 2816·2019-08-29 15:15
閱讀 984·2019-08-29 15:14
閱讀 2657·2019-08-28 18:26