weixin_33719619 2015-11-03 05:20 采纳率: 0%
浏览 9

Ajax发送get而不是post

This is html form

       <form id="create"  enctype="multipart/form-data">
    <input class="form-control" name='header' type="text" placeholder="Header" required> 
    <input type="file" name="upload[]" multiple/>
    <div class="button_wrap">
    <button class="btn btn-success" name="create" type="submit"> Save </button>
    </div>
     </form>

And this is AJAX query, my form contains both data and set of files.

    $("form#create").submit(function(e) {
        var formData = new FormData()($(this)[0]);
        $.ajax({
            type: 'POST',
            url: 'create.php',
            data: formData,
            cache: false,
            contentType: false,
            processData: false

        }).done(function(data) {
            var dataParsed = JSON.parse(data);

            if (!dataParsed.success) {
                alert("Done");

            }
            else {
                alert.success("Error");
                $("#create").trigger("reset");                
            }
        });
        e.preventDefault();
    });

So, I have get request instead post. Why?

  • 写回答

2条回答 默认 最新

  • weixin_33725239 2015-11-03 05:35
    关注

    You are event preventing at the end in your code. It should be at the beginning.

    $("form#create").submit(function(e) {
        e.preventDefault();//it should be at the beginning
        var formData = new FormData()($(this)[0]);
        $.ajax({
            type: 'POST',
            url: 'create.php',
            data: formData,
            cache: false,
            contentType: false,
            processData: false
    
        }).done(function(data) {
            var dataParsed = JSON.parse(data);
    
            if (!dataParsed.success) {
                alert("Done");
    
            }
            else {
                alert.success("Error");
                $("#create").trigger("reset");                
            }
        });
    
    });
    
    评论

报告相同问题?