中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

如何在vue項目中使用封裝后的axios-創新互聯

這篇文章給大家介紹如何在vue項目中使用封裝后的axios,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創新互聯專注于懷來企業網站建設,響應式網站開發,商城建設。懷來網站建設公司,為懷來等地區提供建站服務。全流程按需規劃網站,專業設計,全程項目跟蹤,創新互聯專業和態度為您提供的服務

為什么要使用Vue

Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創建可維護性和可測試性更強的代碼庫,Vue允許可以將一個網頁分割成可復用的組件,每個組件都包含屬于自己的HTML、CSS、JavaScript,以用來渲染網頁中相應的地方,所以越來越多的前端開發者使用vue。

方法如下

1. vue安裝axios

npm install axios -S
	或者
	npm i axios -S

2. 在main.js進行全局引入

import axios from 'axios'
	Vue.prototype.$axios = axios //將axios綁定到vue的原型上

3. 配置跨域 在根目錄下vue.config.js里邊

module.exports = {
	 publicPath: './',
	 //配置跨域請求
	 devServer: {
	  open: true, //是否自動打開瀏覽器
	  https: false, //是否開啟https
	  hotOnly: false,
	  proxy: { // 配置跨域
	   '/api': {
	    target: 'http://********', //請求接口域名 
	    ws: true,
	    secure: false,
	    changOrigin: true, //是否允許跨越
	    pathRewrite: {
	     '^/api': ''
	    }
	   }
	  },
	  before: app => { }
	 }
	}

4. 在src子目錄下的api文件夾下創建api.js文件進行簡單的封裝axios

import axios from 'axios'
//這里引用了element的loading全屏加載
import { Loading } from "element-ui";

const service = axios.create({
 baseURL: '/',
 timeout: 30000 // 設置請求超時時間
})
let loading = "";
// 請求攔截器
service.interceptors.request.use(
 (config) => {
  // 在請求發送之前做一些處理
  if (!(config.headers['Content-Type'])) {
   loading = Loading.service({
    lock: true,
    text: "加載中...",
    spinner: "el-icon-loading",
    background: "rgba(255,255,255,0.7)",
    customClass: "request-loading",
   });
   if (config.method == 'post') {
    config.headers['Content-Type'] =
     'application/json;charset=UTF-8'
    for (var key in config.data) {
     if (config.data[key] === '') {
      delete config.data[key]
     }
    }
    config.data = JSON.stringify(config.data)
   } else {
    config.headers['Content-Type'] =
     'application/x-www-form-urlencoded;charset=UTF-8'
    config.data = JSON.stringify(config.data)
   }
  }
  const token = "token"
  // 讓每個請求攜帶token-- ['X-Token']為自定義key 請根據實際情況自行修改
  if (token) {
   config.headers['Authorization'] = token
  }
  return config
 },
 (error) => {
  loading.close();
  // 發送失敗
  console.log(error)
  return Promise.reject(error)
 }
)

// 響應攔截器
service.interceptors.response.use(
 (response) => {

  loading.close();
  // dataAxios 是 axios 返回數據中的 data
  // loadingInstance.close();
  const dataAxios = response.data
  // 這個狀態碼是和后端約定的

  return dataAxios
 },
 (error) => {
  return Promise.reject(error)
 }
)

	export default service

5. 在api文件夾下創建http文件

 // 引入封裝好的axios
 // ps:如果沒有封裝,正常引入axios即可
  import axios from "./api";
	// 	/api為配置跨域的路徑變量
  let reportUpload= '/api/report/upload'
  export const Upload= () => {
   return axios.get( reportUpload )
  }

6. 在頁面中調用接口

// 引入封裝好的接口
 	import { Upload} from "@/api/http.js"; 

// 調用時使用
 async Upload() {
  let { result } = await getlist ();
  	console.log(result)
 },

關于如何在vue項目中使用封裝后的axios就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

本文標題:如何在vue項目中使用封裝后的axios-創新互聯
轉載來于:http://www.2m8n56k.cn/article24/dhiece.html

成都網站建設公司_創新互聯,為您提供ChatGPT響應式網站網頁設計公司定制網站全網營銷推廣App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設
主站蜘蛛池模板: 久久久日本久久久久123 | 99国内视频| 免费看特级淫片日本 | 97在线精品| 日韩午夜免费视频 | 久久国产精品-国产精品 | 亚洲免费在线视频 | 国产高清自拍 | 最近日本免费观看视频 | 成人精品在线视频 | 国产精品久久久香蕉 | 手机在线成人精品视频网 | 久久精品道一区二区三区 | 亚洲免费中文 | 欧美一级片在线免费观看 | 久久久久成人精品一区二区 | 92手机看片福利永久国产 | 日韩毛片免费在线观看 | 九九99在线视频 | 成人做爰免费网站 | 国产三级国产精品 | 国产特黄特色的大片观看免费视频 | 99久久99热久久精品免费看 | 免费一级毛片麻豆精品 | 92精品国产成人观看免费 | 亚洲男人在线天堂 | 亚洲国产激情在线一区 | 免费在线观看的毛片 | 亚洲精品毛片久久久久久久 | 久久一| 99国产国人青青视频在线观看 | 欧美日本综合一区二区三区 | 一区二区三区四区在线播放 | 日本伊人精品一区二区三区 | 中文字幕有码视频 | 免费看a毛片 | www.黄色免费网站 | 国产成人 免费观看 | 国产高清视频免费在线观看 | 中文字幕日韩精品有码视频 | 国产午夜亚洲精品一区网站 |