ajax提交表单极简姿势

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax提交表单极简姿势相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
    function submitform() {
        var action_url = $(‘form[name="form-oem-add"]‘).attr(‘action‘);
        var action_type = $(‘form[name="form-oem-add"]‘).attr(‘method‘);
        //var post_data = $(‘form[name="form-oem-add"]‘).serialize();
        var post_data = new FormData($(‘form[name="form-oem-add"]‘)[0]);

        $.ajax({
            type: action_type.toUpperCase(),
            url: action_url,
            data: post_data,// 要提交的表单
            async: false,
            cache: false,
            contentType: false,
            processData: false,
            success: function (msg) {
                if (msg.errorCode == 1) {
                    popx(msg.errorMsg, 5);
                } else {
                    popx(‘新建成功‘, 5);
                }
            }
        });
    }
</script>



需要注意的是:

  1. 表单中的三个属性缺一不可
    <form name="" action="" method="">


    表单中不存在文件域时,可以直接利用jquery的序列化来打包数据

    var post_data = $(‘form[name="form-oem-add"]‘).serialize()


    表单中存在文件域时,可以利用html5的Form Data 对象打包数据

    var post_data = new FormData($(‘form[name="form-oem-add"]‘)[0])




本文出自 “我的PHP之路” 博客,转载请与作者联系!

以上是关于ajax提交表单极简姿势的主要内容,如果未能解决你的问题,请参考以下文章

ajax表单提交成功后,为何表单里还有上次填入的数据,如何解决

用ajax提交多个form表单

ajax基础2-使用ajax提交表单

使用JQuery的.ajax()提交表单后当前页面表单内容被清空,请问如何保留数据?

HTML中ajax表单提交CSRF保护

用的ajax提交的表单,js base64编码怎么用