Как я могу отправить файл в формате FormData в формате JSON на сервер PHP - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь отправить форму с помощью 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);

Может кто-нибудь, пожалуйста, помогите мнеоб этой проблеме.

Заранее спасибо

1 Ответ

0 голосов
/ 04 апреля 2019

Вы не можете JSON кодировать двоичные данные в объекте FormData. Чтобы отправить FormData, необходимо указать его в свойстве data объекта настроек в $.ajax(), а также установить для contentType и processData значение 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);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...