记录一下再工作中遇到的axios跨域问题
1.在vue.config.js文件中配置代理
module.exports = {
devServer: {
proxy: {
// 代理名字可以自定义
'/api': {
target: 'http://192.168.2.2:8080', //设置你调用的接口域名和端口号
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
}
2.配置axios(可以不配置) http.js
import axios from 'axios'
export default axios.create({
baseURL: '/api', // 代理名
timeout: 6000, // 请求超时事件
crossDomain: true
})
3.在main页面中引入axios配置
import Vue from 'vue'
import App from './App.vue'
import axios from './utils/http'
Vue.prototype.$axios=axios
Vue.config.productionTip = false
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
4.发送请求
<template>
<div id="app">
</div>
</template>
<script>
export default {
mounted(){
this.$axios({
url:'/portal/r/jd',
params:{
cmd:'com.awspass.user.apps.mobile.equipment.get.lab',
}
}).then((res)=>{
console.log(res)
})
}
}
</script>
<style lang="less">
</style>