使用vue框架连接讯飞模型出现CORS(跨域资源共享)报错
出现问题:
localhost/:1 Access to XMLHttpRequest at 'https://spark-api-open.xf-yun.com/v1/chat/completions' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. ChatComponent.vue:61 Error request: XMLHttpRequest sendMessage @ ChatComponent.vue:61 spark-api-open.xf-yun.com/v1/chat/completions:1 Failed to load resource: net::ERR_FAILED
原因:
由于CORS(跨域资源共享)问题引起的。浏览器安全策略不允许从一个域( http://localhost:8080)访问另一个域( https://spark-api-open.xf-yun.com)的资源,除非目标域明确允许这种访问。
后解决办法有:
- 使用代理服务器:在本地开发服务器上设置一个代理,将请求转发到目标服务器。
- 后端中转:在服务器端代码中设置一个中转路由,将请求从前端转发到目标服务器。
- 在API服务器上设置CORS:在服务器上允许你的域名进行访问。(不太可行)
配置Vue CLI代理
在Vue项目根目录下找到或创建 vue.config.js 文件,并添加以下内容:
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'https://spark-api-open.xf-yun.com',
changeOrigin: true,
pathRewrite: { '^/api': '' },
secure: false
}
}
}
};
后在vue组件中,将请求的URL修改为相对路径:
const response = await axios.post('/api/v1/chat/completions'.........查看开发文档)
另外QPS(Query Per Second)是指每秒处理请求数。这是用来衡量服务性能的指标,描述每秒数万次的高并发场景。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)