javascript - 输入类型文件不序列化 jquery

标签 javascript jquery ajax serialization

我想使用通过序列化方法完成的 ajax 发送表单数据,但输入类型文本和电子邮件在数组中序列化,但输入类型文件未在数组中序列化

<form role="form" action="javascript:;" id="myform"  enctype = "multipart/form-data" method = "post">
        <div class="form-group">
          <label for="name">Name:</label>
          <input type="text" class="form-control" id="name" name="name" placeholder="Enter Name">
        </div>
        <div class="form-group">
          <label for="email">Email:</label>
          <input type="email" class="form-control" id="email" name="email" placeholder="Enter email">
        </div>
        <div class="form-group">
          <label for="email">Photo:</label>
          <input type="file" name="userPhoto"  id="userPhoto" class="form-control"  />
        </div>
        <button type="submit" class="btn btn-default submit_add" id="enter">Submit</button>
      </form>

和 Ajax 代码

$('.submit_add').click(function(e){ 
          e.preventDefault();
          var data = $('#myform').serialize();

          console.log(data); return false;
          $.ajax({ 
              url: '/ajax',
              type: 'POST',
              cache: false, 
              data: data,
              dataType: 'json',
              success: function(data) {
                          if (data.success == true ) {
                            window.location.href  = '/';
                          } else {
                            alert('Error : There is something wrong.');
                          }
                        },
              error: function(jqXHR, textStatus, err){
                   alert('text status '+textStatus+', err '+err);
               }
          })
      }); 

控制台响应

name=manish+prajapati&email=kumar%40manish.com

最佳答案

你应该试试这个:

var data = new FormData($("#myform")[0]);

并设置:

processData: false,
contentType: false,

在这里查看更多信息:http://portfolio.planetjon.ca/2014/01/26/submit-file-input-via-ajax-jquery-easy-way/

关于javascript - 输入类型文件不序列化 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564662/

相关文章:

javascript - ajaxComplete 不适用于我的 SlideUp

jquery - 当光标悬停在菜单中的不同选项时预览图像

用于动画的 JQuery IDE(类似 IDE 的 Flash)

php - 在 PHP 页面上创建所有超链接,发布表单结束然后重定向

javascript - 在 MVVM modelView 中进行初始化有意义吗?

c# - 页面重新加载时触发自动完成

javascript - 每 5 秒填充一次 Ajax 数据,替换旧数据 jquery

Jquery 和 livequery

javascript - React onClick 函数参数变成 "Proxy"对象

javascript - jQuery 在 "select"操作后在 div 中显示文本?