Добавить информацию в FormData при отправке через AJAX - PullRequest
0 голосов
/ 13 марта 2020

Я использую AJAX для сохранения некоторых данных. Мне нужно сохранить FormData и другую информацию. Я использую функцию ниже, но я не уверен, как добавить другую информацию в объект FormData. Не могли бы вы помочь?

function vignetteAjax(company_id, client_id, type_id, url) {
  var formData = document.getElementById("edit_form");
  var fd = new FormData(myform);

  $.ajax({
    url: url,
    type: "post",
    data: {
      "_token": "{{ csrf_token() }}",
      "company_id": company_id,
      "client_id": client_id,
      "type_id": type_id,
    },
    beforeSend: function() {},
    success: function(data) {
      console.log('done');
      $("#policies_list").empty().html(data);
    },
    complete: function() {
      console.log('compete');
    }
  });

  return 0;
}

Ответы [ 3 ]

3 голосов
/ 13 марта 2020

вам просто нужно добавить другие данные с вашим FormData

var fd = new FormData(myform );
fd.append('NameHere',"ValueHere");
// Rest of Code 
2 голосов
/ 13 марта 2020

Используйте метод append, чтобы добавить дополнительные данные к объекту FormData, а затем отправить только объект FormData.

var formData = document.getElementById("edit_form");
var fd = new FormData(myform);
fd.append("_token", "{{ csrf_token() }}");
fd.append("company_id", company_id);
fd.append("client_id", client_id);
fd.append("type_id", type_id);

$.ajax({
    url: url,
    type: "post",
    data: fd,
    contentType: false,
    processData: false,
});
0 голосов
/ 13 марта 2020

Вы можете отправить все данные формы через сообщение

data: {
    "_token": "{{ csrf_token() }}",
    "company_id": company_id,
    "client_id": client_id,
    "type_id": type_id,
    formData: $('#edit_form').serialize()},
},

Также, следовательно, вы используете jQuery, вам не нужно использовать document.getElementById ("edit_form"). Вы можете напрямую использовать $ ('# edit_form'). На стороне PHP (при условии, что вы используете PHP), используйте parse_str для десериализации.

parse_str($_POST['formData'], $formData);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...