Ajax звонок из шаблона Django - PullRequest
0 голосов
/ 05 января 2012

У меня есть шаблон django, который расширяет базовый шаблон с кодом для загрузки в него jquery. Этот шаблон имеет простое текстовое поле, и я хотел получить объект через ajax.

{% extends 'base.html' %}
{% block content %}

<form id="ajaxform">
    <input type="text" name="first_name" id="name" />
    <input type="submit" value="Submit" />
</form>

<div id="dataDiv">

</div>

<script>
    $('#ajaxform').submit(function(){
        console.log('Form submitted');
        $.get('{% url get_ajax_data %}', $(this).serialize(),function(data){
            $('#dataDiv').text(data);

        })
        return false;
    });

</script>
{% endblock %}

В этом шаблоне я попытался сделать ajax-вызов к URL-адресу get_ajax_data, и в соответствующем представлении я просто возвратил текст как return HttpResponse('Ajax respose'). Но это, похоже, не работает, и форма отправляется, пока я вернул false. Я не уверен, где я пропустил.

Ответы [ 2 ]

2 голосов
/ 05 января 2012

Пока не было ответа, Обычная практика - инициализировать обработчик submit().Это делается путем настройки, когда страница готова.В настоящее время вы можете отправить форму обычным способом, она даже не регистрируется в вашем javascript.Чтобы исправить это, вы можете написать:

$(document).ready(function() {
   $('#ajax_form').submit(fun // the rest of your code here.
});
1 голос
/ 05 января 2012

Обработчики событий jQuery не работают, если в них есть ошибка. Проверьте наличие очевидных вещей, таких как пропущенные точки с запятой и т. Д. Убедитесь, что в обработчике событий все верно и должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...