2012-11-14 1 views
0

Au clic du bouton je fais un appel Jquery Ajax mais dans les vues il ne récupère pas les valeurs. Voici le code:Impossible d'extraire les valeurs sur les vues sur Jquery ajax post call dans Django

jquery: -

$("#startSimulator").click(function(){ 

     test = $("#testRange").val(); 
     gameKey = ($('input:radio[name=radioGroup]:checked').val() || 0); 


     $("#imageLoading").css("display", "block"); 
     $.post("/blackout/setup/",{d : d,test : test,gameKey : gameKey}, function(data){ 


      $("#result").append(data); 

     }); 

    }); 

urls.py:

urlpatterns = patterns('', 
      (r'^blackout/setup/$', 'blackout.views.setup'), 
      ) 

views.py:

def setup(request): 
    gameKey = request.POST['gameKey'] 
    test = request.POST['test'] 
    data = request.POST['d'] 

    #Some other code 

    #And then HttpResponse(data) 

erreurs: -

Exception Value:  
"Key 'gameKey' not found in <QueryDict: {}>" 


/home/dhruv/blackout_new_project/blackout/blackout_proj/blackout/views.py in setup 
    gameKey = request.POST['gameKey'] 
+0

Je pense que le problème est avec vos données dict '{d: d, test: test, gameKey: gameKey}' pouvez-vous essayer avec ce '{'d': d, 'test': test, 'gameKey': gameKey} ' –

Répondre

0
gameKey = ($('input:radio[name=radioGroup]:checked').val() || 0); 

Qu'est-ce que c'est censé faire exactement? Je pense que cela pourrait être le problème, je ne suis pas sûr à propos des radioboxes, mais les cases à cocher renvoient null ou undefined (je ne me souviens plus exactement de quel attribut) si elles ne sont pas définies.

Vérifiez la valeur de gameKey avant d'effectuer l'appel ajax.

+0

cela ne crée aucun problème, il obtient la valeur du bouton radio coché hors de tas de boutons radio. Le problème est que les valeurs ne sont pas reçues au backend (views.py). J'ai vérifié que les valeurs sont reçues avant de faire un appel AJAX – user1371033

Questions connexes