vue百度地图获取天气跨域
时间: 2023-10-15 21:08:30 浏览: 99
由于百度地图API的天气接口不支持跨域请求,需要通过代理服务器来解决跨域问题。
1. 在你的项目中找到一个可以作为代理服务器的接口,比如你的后端服务器。
2. 在你的前端代码中,将请求发送到代理服务器的接口,例如:
```javascript
axios.get('/api/weather', {
params: {
location: '北京'
}
}).then(response => {
console.log(response.data)
})
```
3. 在代理服务器的接口中,将请求转发到百度地图API的天气接口,并将响应返回给前端。例如,在Node.js中可以这样实现:
```javascript
const axios = require('axios')
const express = require('express')
const app = express()
app.get('/api/weather', (req, res) => {
const location = req.query.location
axios.get(`https://api.map.baidu.com/weather/v1/?district_id=${location}&data_type=all&ak=YOUR_AK`)
.then(response => {
res.send(response.data)
})
.catch(error => {
console.log(error)
res.status(500).send('Error')
})
})
app.listen(3000, () => {
console.log('Server is running on port 3000')
})
```
注意替换YOUR_AK为你自己的百度地图API密钥。这样就可以通过代理服务器获取百度地图API的天气数据了。
阅读全文