0

我正在用 django + HTML + JavaScript 编写一个音乐测验,我完全被困住了。

我想要做的是计算玩家找到解决方案的时间。但是由于音乐的加载时间,我现在所拥有的并不同步。我的想法是在播放器启动时向 django 发送一些东西,并在那时将 time.time() 存储在 django 中(不刷新页面!)。之后,当玩家点击他认为是的歌曲时,它会发布一个表单,我将一个新的 time.time() 与之前的比较,它就结束了。

一切都很好,但我对 Jquery 和 Ajax 了解不多,我认为这是在不刷新页面的情况下发布内容的方式。

我的 Javascript(这是一个计时器,只是为了好看,但我不想发布在 javascript 上计算的时间,因为任何人都可以发布他想要的时间!):

function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.PLAYING){
        //post Start to Django
        setTimeout(function decompte() { 
            setTimeout(function() {
                te--;
                if (te<0) {
                    te = 9; sc--
                }
                time = sc+" s "+te;
                form.time.value=time;
                if (end) {
                    return;
                }
                else if (sc == 0 & te == 0) {
                    zero()
                }
                decompte();
            }, 100);
        },0); //launch the function... Not a very esthetic way to do it but it works !
    }
}

有任何想法吗 ?

4

1 回答 1

1

它可以通过一个简单的 jQuery Post 请求来完成。以下示例 django 项目中给出了很多示例。它具有适当的 HTML/jQuery 来发送 AJAX 调用以及urls.py接收、myapp/views.py处理和返回响应。

https://github.com/sivaa/django-jquery-ajax-exmaples

于 2013-08-08T11:35:48.007 回答