自己写了一个json数据,放在服务器上,现在要通过vue项目调用数据
我现在要调用
在调用接口数据的时候的时候
会出现这样的报错
Access to XMLHttpRequest at 'http://www.intmote.com/test.json' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这个时候,是遇到了跨域的问题; 由于接口跨域问题,因此不能直接通过ajax请求访问
查看自己的代码,直接把json接口写在请求里
解决办法:设置代理,利用proxyTable属性实现跨域请求
1:打开build/webpack.dev.conf.js,配置代理proxyTable属性如下:通过vue-cli提供给的代理(proxy)进行配置即可,
proxyTable: { '/api': { target: 'http://www.intmote.com', changeOrigin: true, pathRewrite: { '^/api': '' } } },
2:回到当前页面,我的页面是my.vue,修改请求路径
created() { this.$http.get('/api/test.json').then((response) => { console.log(response.data) //响应正确回调 this.nameList = response.body; //把数据存放到data中 }) },
3:重新启动项目
4:这个时候可以看到,跨域问题解决
json里面的数据也显示在了页面里面