Ajax发送get而不是post

时间:2015-11-03 05:20:41

标签: jquery ajax

这是html表格

    $("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();
    });

这是AJAX查询,我的表单包含数据和文件集。

cell.mChat = _mChats[indexPath.section];

所以,我收到了请求而不是帖子。为什么呢?

2 个答案:

答案 0 :(得分:1)

  

您在代码中结尾处阻止事件。它应该在   的开始。

$("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");                
        }
    });

});

答案 1 :(得分:0)

在提交表单时,您需要在表单标记中提供method="post"

<html>
<head>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js"/>
</head>
<body>
 <form id="create"  enctype="multipart/form-data" method="post">
    <input class="form-control" name='header' type="text" placeholder="Header" > 
    <input type="file" name="upload[]" multiple/>
    <div class="button_wrap">
    <button class="btn btn-success" name="create" type="submit"> Save </button>
    </div>
     </form>
     <script>
      $("form#create").submit(function(e) {
        var formData = new FormData()($(this)[0]);
        $.ajax({
            type: 'POST',
            url: 'create',
            data: formData,
            cache: false,
            contentType: false,
            processData: false,
            dataType: 'multipart/form-data'

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

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

            }
            else {
                alert.success("Error");
                $("#create").trigger("reset");                
            }
        });
        e.preventDefault();
    });
     </script>
</body>
</html>