vue封装axios(vue封装axios解决跨域)
在vue组件中使用axios的方法
现在我们通过webpack+vue-cli搭建起了一个vue项目的框架,如果我们需要在vue组件中使用axios向后台获取数据应该怎么办呢?
vue封装axios(vue封装axios解决跨域)
vue封装axios(vue封装axios解决跨域)
vue封装axios(vue封装axios解决跨域)
通常情况下,我们搭建好的项目目录应该是这样子的
首先需要安装axios,这个会npm的都知道
下一步,在main.js中引入axios
import
axios
from
"axios";
与很多第三方模块不同的是,axios不能使用use方法,转而应该进行如下作
Vue.prototype.$aconfig/index里面host: 'localhost', 需要注意,否则运行会underfindxios
接着,我们就可以在App.vue中使用alocalStorage.token && (config.headers.Authorization = localStorage.token)xios了
import {Serve} from '@//index.js'created:function(){
this.$axios.get("/seller",{"id":123}).then(res=>{
console.log(res.data);
});
您可能感兴趣的文章:在Vue组件化中利用axios处理ajax请求的使用方法详解axios在vue中的简单配置与使用详解Vue.js
2.0
如何使用axiosVue.js实战之使用Vuex
+axios发送请求详解vue-axios使用详解
vue.js 怎么引入axios
mod在 main.js 中添加了这两行代码之后,就能直接在组件的 mods 中使用 $ajax 命令,首先在 main.js 中引入 axios
?1
import axios from 'axios'
这时候如果在其它的组件中,是无法使用 axios 命令的。但如果将 axios 改写为 Vue 的原型属性,就能解决这个问题
Vue.prototype.$ajax = axios
mods: { submitForm () { this.$ajax({ mod: 't', :return config '/user', data: { name: 'wise', : 'wrong' } })}
vue封装接口
data/ t方法 /封装接口
在prod.env.js里面配置import axios from 'axios'
首先创建一个idnex.js文件/ 创建一个axios实例化对象instance /
var instance = axios.create({
/ 基础路径 /
baseURL: '‘,
/设置超时时间 /timeout: 5000});
instance.interceptors.request.use(
config => {
},
return Promise.error(error)
axios.interceptors.response.use(response => {
return response
},
/ 参数mods默认值是get,path表示具体路径,t需要给data传参默认值是空对象 get请求需要给params传参默认值是空对象 /
export const Serve = (path,params={},mod="get",data={})=>{
return new Promise((resolve,reject)=>{
instance({
:path,
params,/ get方法 /
.then(res=>{
resolve(res)
.catch(err=>{
reject(err)
}然后创建request.js文件写方法
/ 登录 /
/ 用户列表 /
export const usersGet = (path,params)=>Serve(path,params)
/ 获取左侧菜单列表 /
export const addusersPost = (path,data)=>Serve(path,{},'t',data)
从零开始的vue后台管理-连接数据库
export const menusGet = (path,params)=>Serve(path,params)首先现在vue项目里面找到c})onfig这个文件,配置里面的index.js
=axios;然后再配置生产环境的参数,也就是dev.env.js
给config/index.js里面的内容做个注释
我在src里面创建了一个文件夹axios,api.js是我封装axios方法的文件,globalData.js是存放后台接口的文件。
在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的库,可运行在浏览器端和node.js中。他有很多的特性,例如拦截请求和响应、取消请求、转换json、客户端防御XSRF等。所以vue也是果断放弃了对其库vue-resource的维护,直接我们使用axios库。
globalData.js
import api from '@/axios/api.js'
import gd from '@/axios/globalData.js'
vue嵌套axios下面出现红色波浪线报错?
mods里面是用来写各种方法然后是最重要的引用(important)的,需要先定义个方法,再把是axios相关代码写到方法里面,比如mods:{myfunction():{returnerror => { error这里面写axios相关代码}}
vue获取后端多层数据
export const loginPost }以上这篇在vue组件中使用axios的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。= (path,data)=>Serve(path,{},'t',data)1、使用axios进行HTTP请求,需要在Vue项目中使用axios库进行HTTP请求。可以在Vue项目中通过npminstallaxios安装axios,然后在Vue组件中引入axios库。
/ 添加用户 /2、发送HTTP请求我们需要向后端发送一个GET请求,获取多层数据。
3、处理数据在异步请求的过程中,我们要处理多层数据,可以通过PromiseAPI中的then方法获取到数据并且进行处理。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。