后台提供的数据接口
这两个接口都没有使用 CORS 跨域请求,所以需要在客户端配置服务端代理处理跨域服务。
添加代理跨域:
在 vue.config.js 文件中插入:
// 配置代理跨域
devServer: {
proxy: {
'/boss': {
target: 'http://eduboss.lagou.com', // 所有 /boss 的请求头都会被被转发到 target 这个目标地址
changeOrigin: true // 把请求头中的 host 配置为 target
},
'/front': {
target: 'http://edufront.lagou.com',
changeOrigin: true
}
}
}
修改配置后 重启项目…
测试:
在 网址 http://localhost:8080 中后 插入 /boss
或 /front
:
封装请求模块
安装 axios
npm i axios
创建 src/utils/request.ts 请求模块:
import axios from 'axios'
const request = axios.create({
// 配置选项
// baseURL
// timeout
})
// 请求拦截器
// 响应拦截器
export default request
测试
在 App.vue 中:
<template>
<div id="app">
<h1>Hello World</h1>
<!-- 根路由出口 -->
<router-view/>
<p class="text">红色的文字</p>
</div>
</template>
<script lang="ts">
import Vue from 'vue'
import request from '@/utils/request'
request({
methods: 'GET',
url: '/boss'
}).then(res => {
console.log(res)
})
export default Vue.extend({
name: 'App'
})
</script>
<style lang="scss" scoped>
.text {
color: $danger-color;
}
</style>