Django et Ajax : problème callback
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:
Code:
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> |
ajax.js:
Code:
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)
}
);
});
}
); |
views.py:
Code:
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) |
urls.py:
Code:
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'),
) |