06 vue中使用axios跨域

Posted 张力的程序园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了06 vue中使用axios跨域相关的知识,希望对你有一定的参考价值。

本节将展示如果通过axios+proxyTable完成跨域请求并显示数据。

1、前提约束

完成nodejs,vue-cli,webpack,webpack-dev-server的安装
https://www.jianshu.com/p/eb4d9e132f62

2、操作步骤

cd vue-easytable
cnpm install axios --save-dev
  • 修改main.js,加入以下内容:
import axios from ‘axios‘
axios.defaults.headers.common[‘token‘] = ‘‘
axios.defaults.headers.post[‘Content-type‘] = ‘application/json‘
axios.defaults.baseURL = ‘http://localhost:8080/api‘
  • 修改HelloWorld.vue,内容如下:
<template>
  <div class="tablePage">
    <h1>表格+分页</h1>
    <v-table
      :columns="tableConfig.columns"
      :table-data="tableConfig.tableData"
      :paging-index="(pageIndex-1)*pageSize"
    ></v-table>
  </div>
</template>
<script>
export default {
  name: ‘HelloWorld‘,
  data () {
    return {
      pageIndex: 1,
      pageSize: 10,
      total: ‘‘,
      tableConfig: {
        tableData: [],
        columns: [
          {
            field: ‘id‘,
            title: ‘编号‘,
            width: 50,
            columnAlign: ‘center‘
          },
          {
            field: ‘name‘,
            title: ‘姓名‘,
            width: 120,
            columnAlign: ‘center‘
          }
        ]
      }
    }
  },
  methods: {
    query () {
      this.$axios.get(‘cms/page/query/‘).then( res=> {
        this.tableConfig.tableData = res.data.data;
      })
    }
  },
  mounted () {
    this.query()
  }
}
</script>
  • 修改config/index.js中的proxyTable标签
proxyTable: {
      ‘/api‘: {
        target: ‘http://localhost:31001‘, // 请求的接口的域名
        changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
        pathRewrite: {
          ‘^/api‘: ‘‘
        }
      }
  • 提供第三方api,路径为localhost:31001/cms/page/query且为GET类型,返回的数据如下json格式:
{"data":[{"id":1,"name":"ali"},{"id":2,"name":"xiaoli"}]}
  • 启动项目,访问首页面,便能看到如下结果:
    技术图片
    以上就是vue中通过axios访问第三方api并展示数据。

以上是关于06 vue中使用axios跨域的主要内容,如果未能解决你的问题,请参考以下文章

vue中axios请求成功了如何把数据渲染到页面上?

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

vue+axios跨域解决方法

Vue--封装axios跨域