Why swears on formNm.serialize ()
<script> btnSubmit.onclick = function(){ var formID = 'price_form'; var formNm = $('#' + formID); $.ajax({ type: "POST", url: 'assets/ajax.php', data: { formNm.serialize(), action:'payments_user', }, success: function (data) { $('#message').html(data); setTimeout(function(){ $('#message').html(' '); },5000); location.reload(); }, error: function () { $('#message').html('Ошибка'); setTimeout(function(){ $('#message').html(' '); },5000); } }); return false; }; </script>