我正在使用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;
}
答案 0 :(得分:3)
您只需要在其他数据上附加FormData
var fd = new FormData(myform );
fd.append('NameHere',"ValueHere");
// Rest of Code
答案 1 :(得分:2)
使用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,
});
答案 2 :(得分:-1)
您可以通过邮政发送整个表格数据
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);