文章目录
- 可行
- 网页直接访问,数据正常返回
- 不使用反向代理,直接用axios可以得到数据
- postman测试也正常
- 不行-vite反向代理出问题
- case1
- 命令行测试
可行
网页直接访问,数据正常返回
在地址栏输入 https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT
返回数据正确
不使用反向代理,直接用axios可以得到数据
import axios from 'axios';
async function getBTCPrice() {try {const response = await axios.get('https://api.binance.com/api/v3/ticker/price', {params: { symbol: 'BTCUSDT' }});console.log('当前 BTC 价格:', response);} catch (error) {console.error('获取价格时出错:', error);}
}const test = ()=> {getBTCPrice()
}test是某个按钮的返回函数
postman测试也正常
不行-vite反向代理出问题
case1
- vite.config.js
'/binance':{target: 'https://api.binance.com',changeOrigin: true,rewrite: (path) => path.replace(/^\/binance/, '')},
- 测试的vue文件中
import axios from 'axios';
async function getBTCPrice() {try {//这里注释掉的是可以的(axios直接发送请求+没有用vite代理)// const response = await axios.get('https://api.binance.com/api/v3/ticker/price', {// params: { symbol: 'BTCUSDT' }// });const response = await axios.get('/binance/api/v3/ticker/price', {params: { symbol: 'BTCUSDT' }});console.log('当前 BTC 价格:', response);} catch (error) {console.error('获取价格时出错:', error);}
}const test = ()=> {getBTCPrice()
}
- 浏览器中报错
- vs code控制台报错
命令行测试
CMD执行: curl -k http://localhost:5173/binance/api/v3/ticker/price?symbol=BTCUSDT
空白 + vs code控制台报错