Как объединить два js ajax скрипта которые отправляють данные на сервер

на сайте есть форма с некоторыми полями и input для отправки файла на сервер, все данные на сервер отправляются аяксом (в фоне), если пользователь отправляет только форму с полями то проблем нет, но если пользователь отправляет на сервер и форму и файл то возникает проблема, дело в том что инициируются два запроса т.е. мой скрипт обращается к серверу дважды, а это меня не устраивает (я не могу нормально сформировать электронное письмо), так вот, как мне объединить эти два скрипта. Заранее спасибо

Первый скрипт (отправка формы):

$.ajax({
    type: 'POST',
    cache: false,
    dataType: 'json',
    url: 'act.php',
    data: {
      operation: operation,
      value_php_1: date_1,
      value_php_2: date_2,
      value_php_3: date_3,
      value_php_4: value_1,
      value_php_5: value_2,
      value_php_6: value_3,
      value_php_7: value_4
    }, 
    success: function(data) {
      console.log(data.result);
      document.getElementById('modal_preload').style.display='none';
    },
    error: function (jqXHR, exception) {
        if (jqXHR.status === 0) {        
            alert('Что-то пошло не так, пожалуйста обновите страницу и попробуйте еще раз');        
        } else if (jqXHR.status == 404) {        
            alert('Что-то пошло не так, пожалуйста обновите страницу и попробуйте еще раз');        
        } else if (jqXHR.status == 500) {        
            alert('Что-то пошло не так, пожалуйста обновите страницу и попробуйте еще раз');        
        } else if (exception === 'parsererror') {        
            alert('Что-то пошло не так, пожалуйста обновите страницу и попробуйте еще раз');        
        } else if (exception === 'timeout') {        
            alert('Что-то пошло не так, пожалуйста обновите страницу и попробуйте еще раз');        
        } else if (exception === 'abort') {        
            alert('Что-то пошло не так, пожалуйста обновите страницу и попробуйте еще раз');        
        } else {        
            alert('Что-то пошло не так, пожалуйста обновите страницу и попробуйте еще раз');        
        }        
    }
  });

Второй скрипт (отправка файла):

if (window.FormData === undefined) {
      alert('В вашем браузере FormData не поддерживается')  
    } else {  
      var formData = new FormData();  
      formData.append('file', $("#js-file")[0].files[0]);  
      $.ajax({
        type: "POST",
        url: 'act.php',
        cache: false,
        contentType: false,
        processData: false,
        data: formData,
        dataType : 'json',
        success: function(msg){
          if (msg.error == '') {
            $("#js-file").hide();
            $('#result').html(msg.success);
          } else {
            $('#result').html(msg.error);
          }
        }
      });
    }


Ответы (1 шт):

Автор решения: Igor

Во втором фрагменте добавьте в formData все остальные данные.

  var formData = new FormData();  
  formData.append('file', $("#js-file")[0].files[0]);
  formData.append('operation', operation);
  formData.append('value_php_1', date_1);
  ...
→ Ссылка