【问题标题】:How to implement Django Form using Minimal jQuery Ajax [ Level of question - Intermediate ]如何使用 Minimal jQuery Ajax 实现 Django 表单 [ 问题级别 - 中级 ]
【发布时间】:2011-07-18 15:54:53
【问题描述】:

如果你要用极简的东西替换标记为 [from here - until here] 的代码,会是什么?

$('#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()

如果今天有人真的很友善,你能告诉我如何处理回复吗?我真的很感激。谢谢你们。

附:拯救我的灵魂。

【问题讨论】:

    标签: jquery ajax django forms integration


    【解决方案1】:

    您正在寻找serialize 方法:

    .serialize() 方法以标准 URL 编码表示法创建文本字符串。它对代表一组表单元素的 jQuery 对象进行操作。

    所以它不会给你一个对象,但它可以作为 jQuery AJAX 调用的数据参数。

    如果你真的想要它们作为一个对象,有serializeArray,它不完全存在,因为它是一个具有名称和值的对象数组,但你可以将它变成一个单级对象。

    【讨论】:

    • 啊,我又爱上了 jQuery。 :]。谢谢朋友。
    • 关于通过 django 视图返回 ajax 验证有什么想法?
    猜你喜欢
    • 2012-09-12
    • 2011-06-28
    • 2011-09-05
    • 2011-07-18
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    相关资源
    最近更新 更多