vue 跨域配置_(五)vue和koa跨域通信配置

ac089237ebe0db017adce118ac427f38.png

安装koa-bodyparser中间件到我们项目中

npm install --save koa-bodyparser
npm install --save koa-cors

在app.js中引用

const bodyParser = require('koa-bodyparser')  // 用于接收post请求的
app.use(bodyParser())

const cors = require('koa-cors')
// 设置跨域
app.use(cors({
    origin: function (ctx) {
        /*if (ctx.url === '/cors') {
            return "*"; // 允许来自所有域名请求
        }*/
        return "*";
        // return 'http://localhost:8080';
    },
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
    maxAge: 5,
    credentials: true,
    allowMethods: ['GET', 'POST', 'DELETE'], //设置允许的HTTP请求类型
    allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
  }));

在web文件下安装axios

npm install axios

main.js下新增

import axios from 'axios'

Vue.prototype.$axios = axios
Vue.use(axios)

login页面按钮测试,@click="loadingData()"

methods: {
 loadingData () {
 this.$axios.get("http://127.0.0.1:3000/home").then(res => {
 console.log(res)
        }).catch(err => {
 console.log(err)
        })
      }
    }

服务器端,home路由中对应返回hello home

router.get('/home', async (ctx, next) => {
 console.log("get");   
 ctx.body = "hello home"
});

测试结果成功

a58be9a219c02a427ce9f940b1e4eed3.png

好了,跨越通信说明配置完成了。