название в основном говорит все.formData объект, отправленный с jQuery ajax на сервер, возвращает пустой массив при успешном завершении
Я собираю некоторые данные и добавляю их в объект formData, чтобы отправить его в файл PHP и обрабатывать остальное.
Моя функция Ajax:
save.addEventListener("click", function(e){
e.preventDefault();
getAllContents();
console.log(updateObj);
updateObj = JSON.stringify(updateObj);
console.log(updateObj);
$.ajax({
url: "test.php",
type: "POST",
data: updateObj,
success: function(response){
console.log("Success: ", response);
},
error: function(response){
console.log("Error: ", response);
}
});
});
updateObj содержит все, что я прилагаемую к объекту FormData. Журнал консоли этой переменной возвращает все. Поэтому проблема должна быть правильной в ajax POST.
Update Содержание console.log (updateObj):
[{"row_id":1,"status":"Anmeldung","ma_name":"AA","datum":"/","fa1":"testname1","fa2":"testname2","limit":"10.000","gruppe_kredit":"/","omv_kdnr":"8124213","sap_kdnr":"/","fos":"/","hga_kdnr":"/"},{"row_id":3,"status":"Anmeldung","ma_name":"AA","datum":"/","fa1":"ame1","fa2":"name2","limit":"12.000","gruppe_kredit":"/","omv_kdnr":"81515616","sap_kdnr":"/","fos":"/","hga_kdnr":"/"},{"row_id":2,"status":"Kunde","ma_name":"AA","datum":"/","fa1":"newname1","fa2":"newname2","limit":"15.323","gruppe_kredit":"/","omv_kdnr":"81515616","sap_kdnr":"/","fos":"/","hga_kdnr":"/"}]
Мой PHP файл содержит только print_r
из $_POST
<?php
print_r($_POST);
?>
Это то, что моя функция успеха Аякса журналы вызовов:
success: Array
(
)
UPDATE2
Это как мой FormData объект заполняется в:
// console.log($test.length);
var updateObj = [];
function getAllContents(){
var $tableTr = $('tbody tr');
updateObj = [];
$tableTr.each(function(index, element){
var $row_id = $(this).data("rowid");
// console.log("ID in Table: " + $row_id);
var status = $(this).find('#status option:selected').val();
// console.log("ID "+$row_id+" in der Table hat den Status: "+status);
var ma_name = $(this).find('#ma-name').val();
// console.log(ma_name);
var datum = $(this).find('#datum').val();
// console.log(datum);
var firmenname1 = $(this).find('#firmenname1').val();
// console.log(firmenname1);
var firmenname2 = $(this).find('#firmenname2').val();
// console.log(firmenname2);
var limit = $(this).find('#limit').val();
// console.log(limit);
var gruppe_kredit = $(this).find('#gruppe_kredit').val();
// console.log(gruppe_kredit);
var omv_kdnr = $(this).find('#omv_kdnr').val();
// console.log(omv_kdnr);
var sap_kdnr = $(this).find('#sap_kdnr').val();
// console.log(sap_kdnr);
var fos = $(this).find('#fos').val();
// console.log(fos);
var hga_kdnr = $(this).find('#fos').val();
// console.log(hga_kdnr);
var pushObj = {
row_id: $row_id,
status: status,
ma_name: ma_name,
datum: datum,
fa1: firmenname1,
fa2: firmenname2,
limit: limit,
gruppe_kredit: gruppe_kredit,
omv_kdnr: omv_kdnr,
sap_kdnr: sap_kdnr,
fos: fos,
hga_kdnr: hga_kdnr
};
updateObj.push(pushObj);
// PushObjekt mit Inhalt befüllen und das PushObjekt ins updateObjekt einbetten
//console.log(updateObj);
});
}
getAllContents();
перед вызовом ajax у вас есть 'console.log()'. является то, что дает ожидаемый результат? –
Да console.log дает мне ожидаемый результат. –
check in console для ajax-запроса –