使用axios发起请求的时候,你是否见过这种类型的错误,如下
其实对于英语比较好的小伙伴可能一眼就能看出问题出在哪里,但是对于我们这种天生英语不好的程序员有道就显得格外重要
其实这句话的大概意思是 请求资源上没有“Access-Control-Allow-Origin”报头
最简单的解决方式就是通过在被请求的路由中设置header头,可以实现跨域。
app.get('/get', (req, res) => {
// * 表示允许任何域名来访问
res.setHeader('Access-Control-Allow-Origin', '*')
// 允许指定源访问
// res.setHeader('Access-Control-Allow-Origin', 'http://www.xxx.com')
res.send(Date.now().toString())
})
这种方式虽然简单但是问题来了?如果我们的页面有100请求呢?岂不是要请求100次,代码就会显得非常冗余
这时候我们就可以 使用使用CORS包来帮我们解决这个问题
1.下载使用 npm i cors
2.当做express中的中间件,注意代码应该放在顶部
var cors = require('cors')
3.处理跨域
app.use(cors())