2013-08-08 3 views
0

장고 + HTML + JavaScript에서 음악 퀴즈 코딩 중이며 완전히 갇혀 있습니다.(JQuery, AJAX?)

내가 원하는 것은 플레이어가 해결책을 찾기 위해 만든 시간을 계산하는 것입니다. 하지만 지금은 음악 로딩 시간 때문에 동기화되지 않았습니다. 내 생각은 플레이어가 시작했을 때 무언가를 장고에 보내고 그 순간 장고에 time.time()을 저장하는 것입니다 (페이지를 새로 고치지 않고!). 그 후, 플레이어가 그가 생각한 노래를 클릭하면, 그것은 폼을 게시하고, 나는 이전의 것과 새로운 time.time()을 비교하고 끝났습니다.

모든 것이 잘 작동하지만 Jquery와 Ajax에 대해 많이 알지 못하며 페이지를 새로 고치지 않고 게시하는 방법이라고 생각합니다.

내 자바 스크립트 (이것은 단지 좋은 여기에 타이머가보고하지만, 사람은 그가 원하는 시간을 게시 할 수 있기 때문에, 자바 스크립트 계산 시간을 게시하지 않을 것입니다!) :

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 ! 
    } 
} 

아이디어가 있으십니까?

+0

난 당신이 장고 페이지에서 얻을 수있는 메시지를 기다리는 동안, 그렇지 않으면 당신은 변수 지연이있을 것이다 자바 스크립트 시간을 사용 할 필요가 있다고 생각합니다. 최소화 된 .js 파일에 자바 스크립트를 넣으면 해킹을 시도하는 사람들이 많이있을 것입니까? – PhoebeB

+0

지연은 아무 것도 없으며 잠재적으로 해킹 문제는 내 자바 스크립트 파일을 이해하는 것보다 내 POST 요청을 차단하는 데 더 많은 도움이 될 것입니다 ... –

답변

1

간단한 jQuery 게시 요청으로 수행 할 수 있습니다. 다음 예제 django 프로젝트에는 많은 예제가 있습니다. 그것에는 AJAX 호출을 보내기위한 적절한 HTML/jQuery가 있으며 수신하려면 urls.py, 응답을 처리하고 반환하려면 myapp/views.py이 있습니다.

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

+0

감사합니다. 조금만 확인해 보겠습니다.하지만 이것이 무엇이라고 생각합니까? 나는 원했다. 감사 ! –