vue-resource对比axios import ... from和import {} from 的区别 element-ui
1.vue-resource对比axios
1.0 axios params 配置参数在url 显示,form-data 用于 图片上传、文件上传
1.1 axios 全局配置
axios.defaults.baseURL=‘http:localhost:8080’
1.2 axios 实例配置
let instance=axios.create()
instance.defaults.timeout=3000
或者
let instance=axios.create({
timeout:3000
})
instance.get('data/json',{
params:{id:1}
}).then(
(res)=>{
console.log(res)
})
1.3 axios 请求配置
instance.get('/data.json',{
timeout:3000
})
1.4 拦截器
1.4.1 请求拦截器
axios.interceptors.request.use(
config=>{ return config },
err=>{ return Promise.reject(err) }
)
1.4.2 响应拦截器
axios.interceptors.response.use(
res=>{ return res },
err=>{ return Promise.reject(err) }
)
1.4.3 取消拦截器
axios.interceptors.response.eject(interceptors)
1.4.4 实际例子 :登录权限
let instance=axios.create({})
instance.interceptors.request.use(
config=>{
//$('load').show()
config.headers.token='';
return config
}
)
1.5 取消请求
let source=axios.CancleTaken.source();
axios.get('/list',{
CancleTaken:source.token
}).then().catch()
取消(场景:查询结果时间过长)
source.cancle('mes')
扩展:
扩展 1. post delete put get 常用写法
// 增删改查 post\delete\put(patch:part change)\get
// 1.get // axios.get('/data.json').then(res=>{
// console.log(res);
// }) // axios.get('/data.json',{
// params:{
// id:100
// }
// }).then(res=>{
// console.log(res);
// }) // axios({
// url:'/data.json',
// method:'get',
// params:{
// id:200
// }
// }).then(res=>{
// console.log(res);
// }) // 2.post
// form-data 表单提交:图片、文件上传
// application/json // axios.post('/data',{
// arr:[1,2]
// }).then(res=>{
// console.log(res);
// }) // axios({//get error way - query string parameters
// url:'/data',
// method:'post',
// params:{
// arr:[3,4]
// }
// }).then(res=>{
// console.log(res);
// }) // axios({ // request payload content-type: application/json
// url:'/data',
// method:'post',
// data:{
// arr:[3,4]
// }
// }).then(res=>{
// console.log(res);
// }) let data = {
id:300
};
let myform = new FormData();
for(let key in data){
myform.append(key,data[key])
} // axios({ // content-type: multipart/form-data
// url:'/data',
// method:'post',
// data:myform
// }).then(res=>{
// console.log(res);
// }) axios.post('/data',myform).then(res=>{
console.log(res);
})
扩展 2. 并发请求
axios.all([
axios.get('/data.json'),
axios.get('/data.json')
]).then(
axios.spread((res1,res2)=>{
console.log(res1,res2);
})
)
2. import ... from和import {} from 的区别
3.element-ui
vue-resource对比axios import ... from和import {} from 的区别 element-ui的更多相关文章
- vue实现多语言国际化(vue-i18n),结合element ui、vue-router、echarts以及joint等。
老板说我们的项目要和国际接轨,于是乎,加上了多语言(vue-i18n).项目用到的UI框架是element ui ,后续echarts.joint等全都得加上多语言. 一.言归正传,i18n在vue项 ...
- route按需加载的3种方式:vue异步组件、es提案的import()、webpack的require.ensure()
1. vue异步组件技术 vue-router配置路由,使用vue的异步组件技术,可以实现按需加载. 但是,这种情况下一个组件生成一个js文件.举例如下: { path: '/promisedemo' ...
- vue中的import、export、requre的区别
在es6之前js一直没有自己的模块语法,为了解决这种尴尬就有了require.js的出现.在es6发布之后js又引入了import的概念使得不清楚两者之间的区别的同学在实际使用过程中造成了自己的误解, ...
- vue中使用axios
1.结合vue-axios使用 vue-axios是按照vue插件的方式去写的,那么结合vue-axios就可以使用Vue.use()这个方法import axios from 'axios' imp ...
- vue中使用axios最详细教程
前提条件:vue-cli 项目 安装: npm npm 在main.js导入: // 引入axios,并加到原型链中 import axios from 'axios'; Vue.prototype. ...
- vue全局使用axios插件请求ajax
vue全局使用axios插件请求ajax Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方宣布停止更新vue-resource,并推 ...
- vue组件,axios ,路由
组件(Component)自定义封装的功能. 把一个功能相关的[HTML.css和javascript]代码封装在一起组成一个整体的代码块封装模式,我们称之为“组件”. 组件就是一个html网页中的功 ...
- vue创建路由,axios前后台交互,element-ui配置使用,django contentType组件
vue中创建路由 每一个vue组件都有三部分组成 template:放html代码 script:放js相关 style:放css相关 vue中创建路由 1.先创建组件 Course.vue 2.ro ...
- vue全局使用axios的方法
在vue项目开发中,我们使用axios的二次封装,很多人一开始使用axios的方式,会当成vue-resoure的使用方式来用,即在主入口文件引入import VueResource from 'vu ...
随机推荐
- Java8 Optional && Guava Optional
Java8 -- Optional boolean isPresent():与obj != null()一样:调用get()前要调用isPresent()检查,不然会报错 Optional的三种构造方 ...
- LeetCode124----二叉树中最大路径和
给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不需要经过根节点. 示例 1: 输入: [1,2,3] 1 / \ 2 ...
- php面向对象 练习
实例一:求一个圆环的面积,大圆半径:10 小圆半径:5 造一个圆的类: class Yuan { public $r; function __construct($r) //半径初始化 { $t ...
- retrofit2+rxjava+okhttp网络请求实现
第一步:添加依赖: compile 'io.reactivex:rxandroid:1.2.0' compile 'com.squareup.retrofit2:adapter-rxjava:2.1. ...
- 开源控件slidingmenu的使用
在github.com网站搜索slidingmenu后https://github.com/jfeinstein10/SlidingMenu 下载demo,导入library到你的项目中,添加到你项目 ...
- JavaEE-实验四 HTML与JSP基础编程
1.使用HTML的表单以及表格标签,完成以下的注册界面(验证码不做) html代码(css写于其中) <!DOCTYPE html> <html> <head> & ...
- 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_08.RequestMapping注解的作用
用于建立请求URL和处理请求方法之间的对应关系. 增加一个testResuqestMapping方法来测试 把注解放在类上 服务器重新部署 再次重新部署 这次就可以请求到数据 了 注解放在类上:用来表 ...
- 二十一:jinja2之模板继承
模板继承可以把有共性的一些代码抽出来放到父模板中,其他需要次特性的文件继承模板即可 在jinja2中,使用extends来继承定义好的模板,使用{% block 位置名%} {% endblock % ...
- fcitx无法切换到中文(manjaro)
安装fcitx后不能切换到中文输入法,在.bashrc或者.profile中添加以下代码: #fcitx export GTK_IM_MODULE=fcitx export QT_IM_MODULE ...
- 用edoc2实现上传和下载
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.http.Htt ...