Как реализовать форму Django, используя Minimal jQuery Ajax [Уровень вопроса - Средний] - PullRequest
0 голосов
/ 19 марта 2011

Если бы вы заменили код, помеченный [отсюда - до здесь], на что-то минималистичное, что бы это было?

$('#post_form').submit(function(event){

            event.preventDefault();
            var data = {}

            // From here
           data.k = $('#k').val(); //'k' would be the id of some input field
            data.j = $('#j').val(); //and so on for 'l', 'm' , 'n' etc. you get it
            .......
            // Till here

            $.post("/ajax/post_test/", 
                data, 
                function(responseData) {
                  // handle the response
                },
                "json"

            );
        });

Было бы замечательно, если бы этот объект данных мог напрямую использоваться в Django как форма и, следовательно, иметь возможность использовать встроенную систему проверки Django.

Идеальный ответ будет выглядеть примерно так -

data = $('#post_form').DumpData()

И если кто-то сегодня чувствует себя действительно добрым, не могли бы вы также сказать мне, как я могу справиться с ответом? Я был бы очень благодарен. Спасибо вам, ребята.

P.S. Спаси мою душу.

1 Ответ

1 голос
/ 19 марта 2011

Вы ищете метод serialize:

Метод .serialize () создает текстовую строку в стандартной нотации в кодировке URL.Он работает с объектом jQuery, представляющим набор элементов формы.

Таким образом, он не предоставляет объект, но работает как параметр данных для вызова jQuery AJAX.

Если вы действительно хотите, чтобы они были объектами, есть serializeArray, которых здесь нет, так как это массив объектов с именами и значениями, но вы можете затем превратить его в одноуровневыйобъект.

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