表单数据显示空对象

时间:2014-10-16 12:08:50

标签: javascript html5 form-data

我做了一个简单的表单,想要使用jQuery函数new FormData()发布数据。对我来说,每件事似乎都很好但是当我在data中显示变量console.log时,我得到FormData { append=append()}作为输出。

我的代码是:

<form action="" enctype="multipart/form-data" method="post" name="edit_user" id="edit_user">
   <input type="text" name="Fname" >
   <input type="file" name="image">
   <input type="submit" value="submit">
</form>

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" charset="utf-8">
    $(document).ready(function() {
        $('#edit_user').submit(function(event) {
            event.preventDefault();
            var formdata = new FormData(this);
            console.log(formdata);
       });

2 个答案:

答案 0 :(得分:3)

您的代码(包含在下面)运行正常。这就是FormData应该如何工作的方式。可以使用XHR或$.ajax(请参阅this question for tying it to jQuery)发布数据,但不会将其序列化为字符串。只有在发出XHR请求时才会将其转换为适当的格式。

在没有发出XHR请求的情况下,无法在控制台中的FormData对象中查看数据。

&#13;
&#13;
$(document).ready(function() {
  $('#edit_user').submit(function(event) {
    event.preventDefault();
    //enter code here
    var formdata = new FormData(this);

    console.log(formdata);
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" enctype="multipart/form-data" method="post" name="edit_user" id="edit_user">
  <input type="text" name="Fname">
  <input type="file" name="image">
  <input type="submit" value="submit">
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

You can get the data by using get function of FormData like this:

console.log(formdata.get('Fname'));