如何解决Axios / Chrome:POST请求后出现意外的GET请求
我正在将文本转换为音频。这个想法是发送带有POST请求的文本,并接收音频作为对同一POST请求的文件响应。后端在POST请求之后收到意外的GET请求。下面的Axios代码:
const response = await Axios({
method: 'POST',url: url,responseType: 'blob',data: {
text: textContent
}
}).then(response => {
const blob = new Blob([response.data],{type: 'audio/mpeg'});
var blobUrl = URL.createObjectURL(blob);
let a = new Audio(url)
a.play()
})
当我将音频文件返回到后端的GET请求时,一切正常。
(1)为什么我的POST请求后收到GET请求?这与Chrome的CORS有关吗?
(2)最好的预防方法是什么?我想通过单个原子操作来发送文本和接收音频,因为我不想实现数据库。
解决方法
创建音频文件时,我应该使用“ blobUrl”而不是“ blob”:
let a = new Audio(blobUrl)
此行导致意外的GET请求。我花了几天的时间才发现此错误,因为我完全专注于Chrome如何处理CORS以及Django如何处理中间件和CORS标头。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。