Нужно посмотреть какие данные приходят в php. Выполняется запрос при нажатии кнопки:
var form = document.querySelector("#product_form");
form.addEventListener("submit", sendForm);
function sendForm(e) {
//e.preventDefault();
$.ajax(
{
url: "main.php",
data: { // данные, которые будут отправлены на сервер
name: "Denis",
city: "Erebor"
},
method: 'POST',
processData: true,
contentType: 'application/json',
dataType: 'json'
});
<form action="main.php" id="product_form" method="POST" enctype="multipart/form-data">
<input type="submit">
</form>
main.php c кодом print_r($_POST); показывает пустой массив Array().
contentType должен быть application/x-www-form-urlencoded.
По умолчанию он так и стоит. Вам не нужно было указывать другое значение
Предлагаю следующее решение:
var arr = [1, 2, 3, 4, 5]
var data = {
'name': 'dima',
'arr': arr,
};
$.ajax({
url: "main.php",
data: data,
method: 'POST',
processData: false,
contentType: 'application/json',
cache: false,
dataType: 'json'
});
Здесь довольно подробно расписано, что и зачем.
Продвижение своими сайтами как стратегия роста и независимости