为JQuery编写multipart / form-data AJAX POST

时间:2014-04-18 11:58:52

标签: jquery ajax http-post

如何在JQuery AJAX中准确再现以下POST请求数据?

<form action="/updateinfo" method="post" enctype="multipart/form-data">
  <input type="text" name="t" value="thevalue1"><br>
  <input type="text" name="t" value="thevalue2"><br>
  <input type="text" name="t" value="thevalue3"><br>
  <input type="text" name="t" value="thevalue4"><br>
  <input type="text" name="t" value="thevalue5"><br>
  <input type="text" name="t" value="thevalue6"><br>
  <input type="submit">
</form>

1 个答案:

答案 0 :(得分:0)

使用jQuery,您可以使用:

实现相同的效果(无需重定向)
var form = new FormData($('form')[0]);

$.ajax({
        url: "/updateinfo",
        type: "post",
        data: form,
        contentType: false,
        processData: false,
        success: function(){
            alert("success");
        },
        error:function(){
            alert("failure");
        }
    });

您需要将contentType设置为false,以确保它未添加到HTTP标头中。另外,将processData设置为false以防止jQuery尝试将数据转换为字符串。