Как правильно передать объект на сервер через "fetch" POST-запросом? Перепробовал разные варианты, остановился на преобразовании в "FormData":
var form = new FormData();
for (var i in data) {
form.append(i, JSON.stringify(data[i]));
}
fetch('/mail.php', {
method: 'POST',
body: form
})
.then(function(response) {
response.json().then(function(result) {
...
});
});
Но такой вариант работает только с первым уровнем вложенности: если поле является объектом, то приходит на сервер в виде сериализованной строки. Можно как-то избежать рекурсивного обхода свойств объекта? А без "FormData", если передавать просто "body: JSON.stringify(data)", на сервер ничего не приходит. И варианты с разными заголовками тоже пробовал.