Bonjour,
Quelqu'un saurait-il m'aider à corriger mon code ? Je débute avec Django et je n'ai pas réussi à trouvé de réponse à ma question malgré mes recherches. Merci d'avance !
Mon problème: quand je clique sur Ajax Call Back button, j'ai le message suivant dans firebug :
http://127.0.0.1:8000/planner/essai/...d%27%20%%7D200 OK 13ms
ainsi que dans le champ post de firebug :
person_name try (try étant ce que j'ai essayé d'envoyer via Ajax)
Je suppose donc que la partie HTML et Jquery fonctionne correctement. Toutefois, try ne s'affiche pas dans le champ 'responseText'. En effet, la seule chose qui s'affiche est le code html complet de mon template essai.html.
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><!--CSS--><link href="/static/css/bootstrap.css" rel="stylesheet" type="text/css"/>...
Je présume donc que le problème se situe au niveau de ma vue mais je n'arrive pas à corriger mon code pour que ma vue retourne dans 'responseText" ce que j'ai tapé.
Voici mon code :
essai.html:
ajax.js:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <html> <head> <title> AJAX </title>, <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="/static/js/ajax.js"></script> </head> <body> <div class="wrapper"> <h3>Ajax Callback Introduction</h3> <div class='entry_wrapper'> <h4>Data to send back to server:</h4> <input type="text" size="50" id="input_text"/> <input type="button" value="Ajax Call Back" id='call_back_btn'/> </div> <div class='response_wrapper'> <textarea id='responseText'></textarea> </div>
views.py:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $(document).ready( function() { $('#call_back_btn').click(function() { $.post("{% url 'friend' %}", { person_name: $("#input_text").val() }, function(data) { $('#responseText').val(data) } ); }); } );
urls.py:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 from django.http import HttpResponse def friend(request): if request.method == 'POST': nom=request.POST.get("person_name") return HttpResponse (nom)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 from django.conf.urls import patterns, url from planner import views urlpatterns = patterns('', url(r'^$', views.index, name='index'), url(r'^essai/', views.essai, name='essai'), url(r'^friend/', views.friend, name='friend'), )
Partager