vue使用axios調用接口


vue本身不支持ajax接口的請求,所以在vue中經常使用axios這個接口請求工具,這個axios也是vue官方推薦的庫。
axios的官方github: https://github.com/mzabriskie/axios

首先在自己的項目中新建一個request文件夾和utils文件夾。然后在目錄下創建這幾個文件

一、安裝axios

npm install axios --save

 

二、封裝axios 、配置request文件夾 config.js

export const baseURL = 'http://www.aistool.com' // 請求的url地址baseUrl

export const ERR_OK = '00000' // 請求成功校驗碼

export default {
  baseURL
}

三、配置utils文件夾 index.js

// 把獲取到的數據通過調用JSON.parse()方法轉換成對象
export const isJSON = s => {
  try {
    JSON.parse(s)
  } catch (e) {
    return false
  }
  return true
}

 四、配置http.js

import axios from 'axios'
import config from './config'
import { isJSON } from '../utils'

const instance = axios.create({
  baseURL: config.baseURL
})

instance.defaults.transformRequest = [
  function (data) {
    return data
  }
]
// 添加響應攔截器
instance.defaults.transformResponse = [
  function (data) {
    if (isJSON(data)) {
      return JSON.parse(data)
    }
    return data
  }
]

export default instance

五、在request文件夾下新建index.js,用於封裝get、post等請求

import http from './http'

// 封裝 get 請求 返回的是一個promise
export function get (url, params) {
  return new Promise((resolve, reject) => {
    http.get(url, { params }).then(res => {
      resolve(res.data)
    }).catch(err => {
      reject(err)
    })
  })
}
// 封裝 post 請求 返回的是一個promise
export function post (url, params) {
  return new Promise((resolve, reject) => {
    http.post(url, JSON.stringify(params), {
      headers: {
        'Content-Type': 'application/json'
      }
    }).then(res => {
      resolve(res.data)
    }).catch(err => {
      reject(err)
    })
  })
}
// 獲取輪播圖數據
export const getSwiper = data => get('/ftzs/adimg/rotation/list', data)

 六、在頁面中的使用

這里千萬要注意路徑的引用問題

在data()方法中配置getswiperList

 在mounted生命周期函數中調用這個方法

 在methods定義這個方法 到控制台查看打印內容

【參考鏈接】:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM