vue解决跨域问题

匿名 (未验证) 提交于 2019-12-02 23:57:01

这两天有朋友用vue写页面遇到了跨域问题(其实是后台的问题),但是在局域网下也得把数据调过来,我在这里简单总结两种方法吧,希望对大家有帮助。
跨域问题的报错是下面这样的:

第一种办法:用vue-resource

输入指令

npm install vue-resource --save

然后在main.js文件引入

import VueResource from 'vue-resource' Vue.use(VueResource)

接下来在需要的vue单文件组件里调接口就可以了,会用到jsonp格式,写以下的代码

this.$http.jsonp('https://192.168.0.188:8081/api/Values', {},{headers: {},emulateJSON: true })       .then((res) => {          console.log(res);       })       .catch(function(err){          console.log(err)       })

这种办法,可以在控制台打开network,看看调用返回的内容,状态码是200就说明调用成功

第二种方法:用第三方接口proxyTable

1 在config目录下index.js文件中设置proxyTable

proxyTable: {       '/v1': {         target: 'https://api.douban.com',         changeOrigin: true,   //设置允许跨域         pathRewrite: {           // /v1将代表target/v1            '^/v1': '/v1'         }       }     }

"scripts": {     "dev": "webpack-dev-server --open --inline --progress --config build/webpack.dev.conf.js",     "start": "npm run dev",     "build": "node build/build.js"   },

3 在需要的vue的单文件组件里调用就行

      axios         .get(           "/v1/getServiceInfo?xxxxxx"         )         .then(res => {           console.log(res.data)         })
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!