我如何使用json格式将FormData文件提交到服务器php

问题描述 投票:0回答:1

我正在尝试使用formdata()提交表单。我需要将所有数据转换为json格式,但由于文件附件,我无法在JSON中执行此操作。

源代码:

<script>
    $(document).on('submit', '.career', function(e){e.preventDefault();
        var formData = new FormData();
        formData.append("username", "test");
        formData.append("acct", 23323);
        var data = JSON.stringify(formData);
        $.ajax({
              method: "POST",
              url: ajax.asyncUrl,
              processData: false,
              data: formData
        })
    .done(ajax.callbacks.submitAp);

任何人都可以帮我解决这个问题。

提前致谢

php jquery ajax
1个回答
0
投票

您不能JSON编码FormData对象中的二进制数据。要发送FormData,您需要将其提供给data中设置对象的$.ajax()属性,并将contentTypeprocessData设置为false。试试这个:

$(document).on('submit', '.career-form', function(e) {
  e.preventDefault();
  var formData = new FormData();
  formData.append("username", "Groucho");
  formData.append("accountnum", 123456);
  // add file data here...
  
  $.ajax({
    method: "POST",
    url: ajax.asyncUrl,
    processData: false,
    contentType: false,
    data: formData,
  }).done(ajax.callbacks.submitCareerApplicationLite);
});
© www.soinside.com 2019 - 2024. All rights reserved.