首页 > 解决方案 > 如何将 onclick 事件存储在 Django 数据库中?

问题描述

我的 Django 网页中显示的音频文件列表使用 ... 标签显示。当注册用户单击音频文件的播放按钮时,它应该开始播放音频,并且在幕后,我想将音频文件 id 以及用户详细信息存储在数据库中,例如提交 Django 表单。但是在用户单击播放按钮后,我不想刷新页面,也不想暂停音频文件。我想这与 Ajax 有关系,但我想不通。

标签: javascriptdjangoajaxaudio

解决方案


听起来您正在尝试向存储在服务器上的音频文件发出请求,而无需刷新页面。

为此,您可以使用 ajax 发出 HTTP 请求,您只需要指向音频文件的直接链接。为了在 JavaScript 客户端发出 HTTP 请求,您可以使用XMLHttpRequestfetch。一个 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();
});

推荐阅读