Отправлять полученные данные из ajax в другой ajax в виде файла - PullRequest
0 голосов
/ 08 октября 2019

У меня есть форма, которая возвращает текстовый файл, и я хотел бы отправить полученные данные в другую форму через AJAX

Итак, рабочий процесс: AJAX call -> success -> получил txtfile -> отправить возвращенные данные в виде файла в другую форму через ajax

Я пытался с этим кодом

$.ajax({
    url: "form1",
    method: 'POST',
    data: { field: field}
}).done(function(data) {
  $.ajax({
      url: "form2",
      method: "POST",
      data: { 
              file: data
      }
  });
});

Код отправляет данные, но форма на "form2" не получаетдопустимый файловый объект.

Что я могу сделать, чтобы преобразовать "данные", полученные в действительный файловый объект?

1 Ответ

0 голосов
/ 09 октября 2019

Благодаря lordvlad30 я использовал функцию FormData () для отправки полей во второй форме, но добавил эти свойства во второй вызов ajax: dataType: 'json' processData: false contentType: false

И дляПри первом вызове я должен добавить xhrFields: {responseType: 'blob'}

Итак, последний пример кода:

$.ajax({
    url: "form1",
    method: 'POST',
    xhrFields: {
        responseType: 'blob'
    },
    data: { field: field}
    success: function(blob){
        var formData = new FormData();
        formData.append('textFile', blob, fileName + '.txt');
        $.ajax({
            url: form2,
            method: "POST",
            dataType: 'json',
            processData: false,
            contentType: false,
            data: formData
        });
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...