2013-01-03 5 views
0

J'utilise jquery post pour la pagination. django reçoit la demande de publication et émet une réponse. Le problème est que je ne vois pas la réponse affichée dans le navigateur.jquery post et réponse django

c'est le js que je utilise:

 $.ajax({ 
     type:"POST", 
     url:"/company/sort/", 
     data: { 
       'type': type, 
       'page': page 
     }, 
    }); 

Comment faire pour afficher la réponse de django?

+0

pouvez-vous copier votre 'views.py' ici? –

+0

J'utilise render_to_response pour afficher les résultats. – DjangoPy

Répondre

2

Vous devez ajouter la fonction '' onsucess '' à la structure, fonction qui gérera la réponse de Django.

success: function(data) { 
     alert(data); 
    } 

Vous devez ajouter à l'argument dictionnaire de $.ajax appel:

$.ajax({ 
    type:"POST", 
    url:"/company/sort/", 
    data: { 
      'type': type, 
      'page': page 
    }, 
    success: function(data) { 
     alert(data); 
    } 
}); 

Mise à jour

Si vous obtenez comme une réponse du script non URL, mais le nouveau contenu de la page, vous pouvez le charger sur la page actuelle en utilisant

$('body').replaceWith(data); 

ou

$('body').html(data); 
+0

J'ai essayé ceci: succès: fonction (réponse) { window.location.href = réponse; } pas de chance. – DjangoPy

+0

vous envoyez l'URL de la page à charger dans la réponse? pouvez-vous l'essayer avec 'alert' pour voir le résultat? –

+0

Je reçois la bonne réponse. mais comment puis-je rediriger vers celui-ci? – DjangoPy

0

http://api.jquery.com/jQuery.post/

contient quelques bons exemples.

Personnellement, je préfère:

$.post('url', {'data':'data'}, function(response){ 
    console.log(response); 
}); 

Vous pouvez aussi avoir besoin pour former votre réponse de django. Voici un extrait que j'utilise souvent:

+0

Devrais-je utiliser HttpResponse avec post et non render_to_response? – DjangoPy

+0

Il n'y a pas de victoire avec render_to_response si vous répondez avec ajax. render_to_response est mieux utilisé avec des modèles. Votre réponse ajax devrait être une réponse http pure. –

+0

Je ne veux pas changer la fonctionnalité de travail que j'ai avec les modèles. Existe-t-il un moyen de le contourner? – DjangoPy