项目场景:
提示:这里简述项目相关背景:
例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)
解决步骤和总结:
前端项目代理配置:
打开项目根目录下的 vue.config.js 文件,如果没有该文件,新建一个。
在 vue.config.js 文件中配置代理,将以 /api 开头的请求代理到后端 API 地址,并将 /api 前缀移除。
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://your-api-server.com',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
};
前端代码修改:
在前端项目中,修改 axios 请求的 URL,确保以 /api 开头。
修改请求方法,将参数正确传递给 axios 请求。
示例修改:
async getlist() {
try {
const { data: res } = await this.$http.get('/api', {
params: {
xx: "xxxxxxxxx"
}
});
console.log(res);
} catch (error) {
console.error("请求出错", error);
}
}
总结:
跨域问题通常需要在后端进行处理,但在开发环境中,通过前端代理也是一种有效的解决方法。
使用代理时,要确保前后端的配置一致,包括代理路径和请求头。
前端 axios 请求的参数需要正确传递,确保与后端期望的参数一致。