PHP 表格和 Ajax 我的表格添加了两次 post

PHP form and Ajax My form add the post two times

您好,我使用 Ajax 创建了一个表单,但是每当我单击提交按钮时 ajax 都会发送两次数据。我使用 var postData = null; 但 ajax 没有用。但是如果我只使用 PHP 我的表格工作正常。但我需要 ajax :)

normal_form.js

$(function() {
    $("#form-msg").hide()  ;
$("#simple-post").click(function()
{
    $("#ajaxform").submit(function(e)
    {
        $("#form-msg").html("<div class='preloader'></div>");
        var postData = $("#ajaxform").serializeArray();
        var formURL = $("#ajaxform").attr("action");
        $.ajax(
        {
            url : formURL,
            type: "POST",
            data : postData,
            cache:false,
            success:function(data)

            {
                if($("#ajaxform").attr("data-rel") == "reset"){
                document.getElementById("ajaxform").reset();
                $("#form-msg").show(300)  ;
                $("#form-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');
                $("body").click( function() { $("#form-msg").hide(400); });
                }
                else{
                $("#form-msg").show(300)  ;
                $("#form-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');
                $("body").click( function() { $("#form-msg").hide(400); });
                }
            },
            error: function(jqXHR, textStatus, errorThrown) 
            {
                $("#form-msg").fadeIn(300)  ;
            $("#form-msg").html('<pre><code class="prettyprint">AJAX Request Failed<br/> textStatus='+textStatus+', errorThrown='+errorThrown+'</code></pre>');
            $("#form-msg").click( function() { $(this).slideToggle(); });
                $("body").click( function() { $("#form-msg").fadeOut(500); });
                $("#form-msg").fadeOut(8000)  ;
                        }
        });

        e.preventDefault(); //STOP default action
        e.unbind();
    });
    $("#ajaxform").submit(); //I'm supposed to delete it.
});

});

Ps。你看,我的英语不好。 :)

最明显的第一件事是您提交了两次表单:

$("#ajaxform").submit(function(e) //5th line from the top

...和:

$("#ajaxform").submit(); //SUBMIT FORM

是的,毫无疑问。您的整个代码示例可以简化为:

$("#ajaxform").submit('a bunch of stuff you are doing here');
$("#ajaxform").submit();

拿出最后一个 $("#ajaxform").submit(); 看看会发生什么。