e.preventDefault不会停止提交表单

时间:2016-04-07 22:58:09

标签: jquery ajax

我有以下代码无法按预期工作。每当返回的状态为1时,代码不会在第一个if语句中结束,而是继续执行返回到顶部并执行ajax请求:

$("form#myForm").submit(function(e){
        var formData = new FormData($(this)[0]);
        $.ajax({
            url: "/app/user",
            type: 'POST',
            data: formData,
            async: false,
            success: function (data) {
                var parseData = JSON.parse(data);
                var message = parseData.msg;
                var status = parseData.status;

                if (status == "1"){
                    console.log("one");
                } else if(status == "2"){
                    console.log("two");
                } else if (status == 3){
                    console.log("three");
                }
            },
            cache: false,
            contentType: false,
            processData: false
        });
        e.preventDefault();
    });

1 个答案:

答案 0 :(得分:1)

应该在ajax之前调用e.preventDefault()。