首先說明一下為什麼要用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域名去請求的,所以能請求成功