0
votes

Django: Impossible de déclencher l'appel Ajax et d'envoyer des valeurs à mon formulaire

Je dois exécuter un appel Ajax pour effectuer un calcul rapide dans ma vue Django et renvoyer le résultat dans ma page HTML, à l'intérieur d'une balise.

Je suis très nouveau à JavaScript, donc je ne comprends pas pourquoi mon Ajax Call n'a pas été déclenché. Ceci est mon code HTML et JS: p> xxx pré>

et ceci est mon point de vue.pycy:

document.getElementById("estimation2").innerHTML = estimation;


1 commentaires

Dans votre URL de la demande AJAX , vous passez la voie au modèle de page d'accueil. Vous devriez passer l'URL pour la route de la page d'accueil.


3 Réponses :


3
votes

modifier le nom sur ID. parce que #deans id du champ. Comme de name = "shm2" à id = "shm2" xxx


2 commentaires

Merci mais ça ne marche toujours pas. Une idée de quoi d'autre est fausse?


HTML et AJAX fonctionne bien. Vous devez vérifier votre code Django. Essayez de supprimer ces conditions supplémentaires requête.is_ajax et "estimation" dans demande.post:



1
votes

1st

request.is_ajax est une fonction

2e

'Estimation' dans demande.post Vous l'avez dans votre déclaration mais vous n'avez pas dépassé cela pour voir. Ajoutez-le à Data ou supprimez de l'instruction


3 commentaires

D'accord merci; J'ai donc ajouté «estimation» dans la partie «Données» de mon code JS et cela a définitivement aidé depuis que je reçois maintenant l'alerte avec le bon résultat. Néanmoins, après l'alerte, il charge une nouvelle page plutôt que d'écrire le résultat sur mon formulaire. Une idée pourquoi? En outre, je ne suis pas vraiment sûr de ce que je devrais faire avec demande.is_ajax. Pourriez-vous s'il vous plaît être plus précis? Merci!


@Curiousit request.is_ajax () . Et je n'ai aucune idée que cela charge une nouvelle page. Vous n'avez rien de tel dans le code que vous avez fourni


Les choses vont bien mieux. Maintenant, j'ai juste besoin de récupérer la valeur «estimation». J'ai fourni une nouvelle mise à jour dans la question initiale. J'espère que ça vous aide.



0
votes

Il semblait que la question provenait du fait que je n'ai pas déclaré le type de mon bouton dans mon code HTML. La valeur par défaut (c'est-à-dire «Soumettre») l'empêchait de déclencher mon code Ajax au besoin. Donc, à la fin, je devais la définir sur "Type =" Button "'pour le faire fonctionner.


0 commentaires