第十章:vue2中axios请求服务端数据

来源:互联网 发布:通达信软件编程 编辑:程序博客网 时间:2024/06/07 02:57

中文文档

一、关于axios的安装

  • 1、利用npm安装npm install axios --save
  • 2、利用bower安装bower install axios --save
  • 3、直接利用cdn引入<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

二、关于get请求数据

  • 1、直接请求数据

    axios.get('/static/data.json').then(res=>{    console.log(res);    ....}).catch(error=>console.log(error));
  • 2、带参数的请求方式

    axios.get('/static/data.json',{params:{id:123}}).then(res=>{    console.log(res);    ....}).catch(error=>console.log(error));

二、关于post请求数据

  • 1、直接请求

    axios.post('/user', {    firstName: 'Fred',    lastName: 'Flintstone'}).then(function (response) {    console.log(response);}).catch(function (error) {    console.log(error);});

三、vue-cli构建项目中利用axios请求数据处理跨域的问题

  • 1、vue-cli构建项目
  • 2、服务器数据接口

    'use strict';const express = require("express");const app = express();let obj = {    info:'success',    code:200,    booknames:[        {id:0,bookname:'三国演义',author:'罗贯中'},        {id:1,bookname:'水浒传',author:'施耐庵'},        {id:2,bookname:'西游记',author:'吴承恩'},        {id:3,bookname:'红楼梦',author:'曹雪芹'},    ]};app.get('/',(req, res) => {    res.json(obj);})app.get('/book',(req, res) => {    res.json(obj);})app.listen(3000);
  • 3、设置代理(在config->index.js)中

    // 配置代理  proxyTable: {    '/api':{  // api为匹配项        target:'http://localhost:3000/', // 设置代理目标        changeOrigin: true,        pathRewrite: {  // 重写路径          '^/api': '/'        }    }},
  • 4、请求数据

    import axios from 'axios';export default {    name: 'app',    mounted(){        axios.get('/api/book').then(res=>{            console.log('第一条数据:',res);        })        axios.get('/api').then(res=>{            console.log('第二条数据:',res);        })    }}