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定义这个方法 到控制台查看打印内容
【参考链接】:
vue使用axios调用接口的更多相关文章
- vue中axios调用接口和用node.js跨域
<script>const API_PROXY = 'https://bird.ioliu.cn/v1/?url='import axios from 'axios'export defa ...
- axios调用接口
axios调用接口 1. 按照axiosnpm install --save-dev axios2.在main.js 引入axios, 设置全局属性$http 指向axios main.js impo ...
- vue 配合vue-resource调用接口,获取数据
1.先用node+express+mysql简单配置一下后台 const express = require('express');const mysql = require('mysql');con ...
- vue项目axios请求接口,后端代理请求接口404,问题出现在哪?
在vue项目中,列表数据需要用到qq音乐接口中的数据,但是直接请求不行,有host及referer限制,需要采用后端代理的方式.借助axios及node的express,在dev-server.js中 ...
- vue使用axios调用豆瓣API跨域问题
最近做了一个vue小demo,使用了豆瓣开源的API,通过ajax请求时需要跨域才能使用. 封面.jpg 一.以下是豆瓣常用的开源接口: 正在热映 :https://api.douban.com/ ...
- Nuxt服务端使用Axios调用接口时传递cookies
个人博客 地址:http://www.wenhaofan.com/article/20190321183709 介绍 在做单点登录时,后端需要根据cookie获取登录用户,由于前端项目使用了Nuxt做 ...
- vue 利用axios请求接口下载excel
一般有三种方法: 方法一: 通过a标签下载 // href为文件的存储路径或者地址,download为问文件名 <a href="/images/download.jpg" ...
- vue 中使用 axios 请求接口,请求会发送两次问题
在开发项目过程中,发现在使用axios调用接口都会有两个请求,第一个请求时,看不到请求参数,也看不到请求的结果:只有第二次请求时才会有相应的请求参数以及请求结果: 那为甚么会有这么一次额外的请求呢,后 ...
- 05 . Vue前端交互,fetch,axios,以asyncawait方式调用接口使用及案例
目标 /* 1. 说出什么是前后端交互模式 2. 说出Promise的相关概念和用法 3. 使用fetch进行接口调用 4. 使用axios进行接口调用 5. 使用asynnc/await方式调用接口 ...
随机推荐
- Serverless助力AI计算:阿里云ACK Serverless/ECI发布GPU容器实例
ACK Serverless(Serverless Kubernetes)近期基于ECI(弹性容器实例)正式推出GPU容器实例支持,让用户以serverless的方式快速运行AI计算任务,极大降低AI ...
- hdu 1532 Drainage Ditches(最大流模板题)
Drainage Ditches Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- MySQL高级配置
参考文章:http://www.jb51.net/article/47419.htm https://blog.csdn.net/waneto2008/article/details/52502208 ...
- win10 uwp 使用 Azure DevOps 自动构建
通过 Azure DevOps 可以做到自动构建程序,覆盖计划.创建.编程.测试.部署.发布.托管.共享等各个环节,适用于大多数的语言.平台. 本文继续使用图床为例告诉大家如何使用 Azure Dev ...
- P1022 绵羊排序
题目描述 聪聪想要给他家农场里的 \(n\) 只绵羊按照品质从高到低进行排序. 农场里的 \(n\) 只绵羊编号从 \(1\) 到 \(n\) ,第 \(i\) 只绵羊的体重为 \(w_i\) ,高度 ...
- egg-socket在egg中的使用
WebSocket 的产生源于 Web 开发中日益增长的实时通信需求,对比基于 http 的轮询方式,它大大节省了网络带宽,同时也降低了服务器的性能消耗: socket.io 支持 websocket ...
- 2019-8-31-How-to-fix-nuget-Unrecognized-license-type-MIT-when-pack
title author date CreateTime categories How to fix nuget Unrecognized license type MIT when pack lin ...
- es6笔记 day2---字符串模板及字符串新增
字符串连接案例 注意:引号变了,为键盘数字1旁边的飘花键 以前的老写法是在字符串中加入“+”号,给几个字符串给串起来,那种写法是要死人的. 现在只需加上一对``即可将字符串连接起来 --------- ...
- jQuery---鼠标滚轮控制div横向滚动条左右移动
HTML <div class="table-responsive"> <div class="fhtable" style="wi ...
- 轮播图模块(vue)
轮播图模块(vue) 通过属性方式传值 值为一个数组.每一项含有imgUrl(图片地址).link(跳转链接),link为可选属性 <template> <div class=&qu ...