【问题标题】:Can I intercept form submit data to use with AJAX?我可以拦截表单提交数据以与 AJAX 一起使用吗?
【发布时间】:2013-09-01 02:45:30
【问题描述】:

我有一个 Django 应用程序,它显示选择项中的项目列表。当用户更改所选项目时,我使用 AJAX 将表单(使用 Django 的表单和表单集助手)插入页面上的“内容”部分以编辑该项目的数据。

我想做的是,当用户单击表单上的“保存”按钮时,Javascript 函数会发送 POST 数据,就像表单已提交一样,然后再次使用 AJAX 从页面。

我希望始终保持一个干净的 URL,但始终返回到您正在编辑的条目(因此 AJAX HTML 替换)。

我宁愿不必抓取所有表单字段并重建我的 Django 表单将正确识别的字符串。

有没有办法做到这一点?我是不是把整件事都搞错了?

【问题讨论】:

    标签: javascript ajax django forms django-forms


    【解决方案1】:

    要抓取整个表单并在提交时使用 AJAX 发送它,请执行以下操作(假设为 jQuery):

    jQuery('form').submit(function (event) {
        event.preventDefault();
        var form = jQuery(this);
        var data = form.serialize();
    
        jQuery.post(form.attr('action'), data, function(html) {
            ...
        });
    });
    

    【讨论】:

    • 我以前没用过 jQuery,但它看起来很简单。我会试一试并报告。谢谢!
    猜你喜欢
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    相关资源
    最近更新 更多