vue axios数据请求及vue中使用axios的方法


Posted in Javascript onSeptember 10, 2018

axios 简介

axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:

--------------------------------------------------------------------------------
•从浏览器中创建 XMLHttpRequest
•从 node.js 发出 http 请求
•支持 Promise API
•拦截请求和响应
•转换请求和响应数据
•取消请求
•自动转换JSON数据
•客户端支持防止 CSRF/XSRF

在vue中数据请求需要先安装axios

 npm i --save axios

我们在使用请求数据的页面导入axios

import  axios from "axios"

然后在methods里面写数据的请求

methods:{
  getInfo(){
   let url = "url"
   axios.get(url).then((res)=>{
     //console.log(res)
     this.list1 = res
   })
}

在生命周期调用一下,一般我们数据请求使用的生命周期是Mounted

mounted() {
  this.getInfo()       
 }

这样我们就完成了axios的get方法请求

然后我们简答的说一说post请求,post请求与get请求其实变得不多

postInfo() {
   let url = "..."
   var params = new URLSearchParams();
   params.append('key', index);
   axios.post(url, params).then((res) => {
     console.log(res)
   })
 }

这样我们就可以成功的使用post方法请求数据了

补充:下面看下vue中使用axios

1.安装axios

npm:

$ npm install axios -S

cdn:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

2.配置axios

在项目中新建api/index.js文件,用以配置axios

api/index.js

import axios from 'axios';
let http = axios.create({
 baseURL: 'http://localhost:8080/',
 withCredentials: true,
 headers: {
  'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
 },
 transformRequest: [function (data) {
  let newData = '';
  for (let k in data) {
   if (data.hasOwnProperty(k) === true) {
    newData += encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) + '&';
   }
  }
  return newData;
 }]
});
function apiAxios(method, url, params, response) {
 http({
  method: method,
  url: url,
  data: method === 'POST' || method === 'PUT' ? params : null,
  params: method === 'GET' || method === 'DELETE' ? params : null,
 }).then(function (res) {
  response(res);
 }).catch(function (err) {
  response(err);
 })
}
export default {
 get: function (url, params, response) {
  return apiAxios('GET', url, params, response)
 },
 post: function (url, params, response) {
  return apiAxios('POST', url, params, response)
 },
 put: function (url, params, response) {
  return apiAxios('PUT', url, params, response)
 },
 delete: function (url, params, response) {
  return apiAxios('DELETE', url, params, response)
 }
}

这里的配置了POST、GET、PUT、DELETE方法。并且自动将JSON格式数据转为URL拼接的方式

同时配置了跨域,不需要的话将withCredentials设置为false即可

并且设置了默认头部地址为:http://localhost:8080/,这样调用的时候只需写访问方法即可

3.使用axios

注:PUT请求默认会发送两次请求,第一次预检请求不含参数,所以后端不能对PUT请求地址做参数限制

首先在main.js中引入方法

import Api from './api/index.js';
Vue.prototype.$api = Api;

然后在需要的地方调用即可

this.$api.post('user/login.do(地址)', {
  "参数名": "参数值"
}, response => {
   if (response.status >= 200 && response.status < 300) {
    console.log(response.data);\\请求成功,response为成功信息参数
   } else {
    console.log(response.message);\\请求失败,response为失败信息
   }
});
Javascript 相关文章推荐
Track Image Loading效果代码分析
Aug 13 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
Mar 11 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
Mar 02 Javascript
jQuery()方法的第二个参数详解
Apr 29 Javascript
jQuery插件制作之全局函数用法实例
Jun 01 Javascript
jquery实现简单的轮换出现效果实例
Jul 23 Javascript
JS原型、原型链深入理解
Feb 27 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
BACKBONE.JS 简单入门范例
Oct 17 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
Feb 08 Javascript
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
Oct 05 Javascript
vue插件实现v-model功能
Sep 10 #Javascript
在Angular中使用JWT认证方法示例
Sep 10 #Javascript
详解vue-router传参的两种方式
Sep 10 #Javascript
详解Vue.js使用Swiper.js在iOS
Sep 10 #Javascript
webuploader分片上传的实现代码(前后端分离)
Sep 10 #Javascript
在Vue 中使用Typescript的示例代码
Sep 10 #Javascript
ES6使用export和import实现模块化的方法
Sep 10 #Javascript
You might like
也谈截取首页新闻 - 范例
2006/10/09 PHP
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
javascript操作数组详解
2014/12/17 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
Python常用的爬虫技巧总结
2016/03/28 Python
Python操作MySQL模拟银行转账
2018/03/12 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
pytorch 彩色图像转灰度图像实例
2020/01/13 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
详解python的变量缓存机制
2021/01/24 Python
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
光声世纪笔试题目
2012/08/25 面试题
测绘工程个人的自我评价
2013/11/10 职场文书
自主招生自荐信指南
2014/02/04 职场文书
教师先进个人材料
2014/12/17 职场文书
送达通知书
2015/04/25 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js