Я собрал простой тест поста ajax / jquery в рамках django, но не совсем понимаю, почему вывод не попадает на страницу шаблона. Кто-нибудь?
Я вижу содержимое поста на вкладке «ответа» firebug, но, если я пытаюсь вернуть шаблон или простое сообщение, в самом браузере ничего не происходит. И наоборот, не-ajax-сообщение работает как положено (загружает новую страницу, публикует сообщение)
Я полный новичок в ajax / jquery / django, поэтому прошу прощения за мое невежество :)
В конечном итоге я хотел бы передать произвольные переменные, не связанные с формой, в представление django через jquery. Возможный? Спасибо:)
Вот код -
test.html:
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script></javascript>
<script type="text/javascript">
$(document).ready(function() {
$("#testForm").submit(function(event){
event.preventDefault();
$.ajax({
type:"POST",
url:"/test_results/"
});
});
return false;
});
</script>
</head>
<body>
<form id="testForm" action="/test_results/" method="post">
<input type="submit" id="go" name="go" value="Go!">
</form>
</body>
</html>
views.py:
from django.shortcuts import render_to_response
from django.http import HttpResponse
def test_ajax(request):
if request.is_ajax():
message = "Yes, AJAX!"
else:
message = "Not Ajax"
return HttpResponse(message)
#alternative test: return render_to_response('test_results.html')
urls.py:
(r'^test_results/$', views.test_ajax),
(r'^test/$', views.test),
и почти пустой test_results.html:
<html>
<head>
</head>
<body>
test results
</body>
</html>