首先说明一下为什么要用axois进行跨域请求:
在某些网站里面你想进行跨域,他再headerqurest里的host设置了只有特定的域名发送的请求才能获取,这个前端是没有办法改的,所以我们用服务器代理的方式来请求。
在这里我们是再vue-cli讲的例子:
package.json里安装axios和install一下
1 首先进入build文件夹下的dev-server.js
引包
var axios = require('axios')
2 找到var apiRoutes = express.Router()下面添加
apiRoutes.get('/getDiscList', function(req, res) {
var url = 'https://baidu.com/fcgi-bin/fcg_get_diss_by_tag.fcg' //请求的地址
axios.get(url, {
headers: {
referer: 'https://baidu.com', //设置自己的referer
host: 'baidu.com' //设置自己的host
},
params: req.query
}).then(response => {
res.json(response.data)
}).catch(error => {
console.log(error)
})
})
这样通过服务器代理就会认为是baidu域名去请求的,所以能请求成功