ajax表格在第二次提交时提交两次,在第三次提交时提交3次,等等

时间:2013-11-24 00:46:00

标签: javascript jquery ajax

出于某种原因,我的表单在第一次“提交”时提交一次,如果你没有在两次之间刷新页面,则在第二次“提交”提交两次。

$(document).on('submit', ".post-video-form", function(uploadVideo) {
    uploadVideo.preventDefault();
    var formData = new FormData($(this)[0]);
    $.ajax({
        type: 'post',
        url: '/dev/new/scripts/upload_video.php',
        data: formData,
        success: function (response) {
            if (response == 'success') {
                $(".overlay").fadeOut(200);
                setTimeout(function() {
                  $(".overlay").remove();
                }, 250);
                setTimeout(function() {
                    $(".head").before(overlay_success_html);
                    $(".overlay").fadeIn();
                }, 255);
                $(document).on('click', ".close-overlay", function(){
                    $(".overlay").fadeOut(200);
                    setTimeout(function() {
                      $(".overlay").remove();
                    }, 250);

                });
            }

            if (response == 'failed') {
                $(".upload-error").append('Upload error: File must be a JPG or PNG less than 2.0MB');
            }
        },
        error: function() {
            $(".upload-error").append('Upload error: File must be a JPG or PNG less than 2.0MB');
        },
        cache: false,
        contentType: false,
        processData: false
    });
});

1 个答案:

答案 0 :(得分:0)

需要查看更多代码,但也许您的提交处理程序会为每个帖子注册额外的时间。

尝试在

之前的行上添加控制台日志或警报
$(document).on('submit', ".post-video-form", function(uploadVideo) {

确保提交事件未多次注册。如果你正在生成javascript服务器端,那么可能就是这种情况。否则我们需要更多信息。