【发布时间】:2020-05-21 03:10:17
【问题描述】:
我的 Django 网页中显示的音频文件列表使用 ... 标签显示。当注册用户单击音频文件的播放按钮时,它应该开始播放音频,并且在幕后,我想将音频文件 id 以及用户详细信息存储在数据库中,例如提交 Django 表单。但是在用户单击播放按钮后,我不想刷新页面,也不想暂停音频文件。我想这与 Ajax 有关系,但我想不通。
【问题讨论】:
标签: javascript django ajax audio
我的 Django 网页中显示的音频文件列表使用 ... 标签显示。当注册用户单击音频文件的播放按钮时,它应该开始播放音频,并且在幕后,我想将音频文件 id 以及用户详细信息存储在数据库中,例如提交 Django 表单。但是在用户单击播放按钮后,我不想刷新页面,也不想暂停音频文件。我想这与 Ajax 有关系,但我想不通。
【问题讨论】:
标签: javascript django ajax audio
听起来您正在尝试向存储在服务器上的音频文件发出请求,而无需刷新页面。
为此,您可以使用 ajax 发出 HTTP 请求,您只需要指向音频文件的直接链接。为了在 JavaScript 客户端发出 HTTP 请求,您可以使用 XMLHttpRequest 或 fetch。一个 fetch 的例子,假设音频文件的 url 存储在一个名为 audioURL 的字符串变量中:
fetch(audioURL)
.then(response => response.blob())
.then(blob => {
///assuming you have an `audio` element on the page with id `audioEl`:
audioEl.src = URL.createObjectURL(blob);
audioEl.play();
});
【讨论】: