搭建ElementUI前端项目后提示:前端
Access to XMLHttpRequest at **from origin ** has been blocked by CORS policyvue
这是由于在请求后台SpringBoot接口时出现了跨域请求问题。webpack
原本打算是搭建好前端项目后再js中进行ajaxq请求数据,可是会由于跨域被拒绝。ios
注:web
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。 ajax
因此使用axios进行后台数据的请求npm
安装axios编程
npm install axios
而后打开入口程序main.js添加axiosaxios
import axios from 'axios'
而后打开webpack.config.js进行url的代理配置api
devServer: { host: '127.0.0.1', port: 8010, proxy: { '/api/': { target: 'http://127.0.0.1:8088', changeOrigin: true, pathRewrite: { '^/api': '' } } },
以上配置表明项目的启动端口为8010,ElementUI在向后台请求Url时,就会将/api/的请求想target中执行的地址去请求
因此咱们能够在页面App.vue中这样去调用后台数据接口
//页面初始化的时候,去调用 created: function(){ debugger this.getData() }, methods: { //经过ajax去请求服务端,获取数据 getData() { debugger let url = "/api/user/selectAllLimit?offset=2&limit=1" ; this.$axios.get(url).then((res) => { this.tableData = res.data;//把传回来数据赋给packData }).catch(function(error){ console.log(error); }) }
请求效果