1) У вас есть несоответствие опечаток между вашей формой и вашим JavaScript:
<form id="formSubmit"
и $('#formSumbit')
- должно быть $('#formSubmit')
, чтобы соответствовать написанию.
2)Если вы не пытаетесь загружать файлы с помощью этого AJAX-запроса, вы можете упростить задачу, заменив data: new FormData(this), contentType: false
просто данными: $(this).serialize()
.Это избавит от ошибки недопустимого вызова.
3) Запись dataType: 'json'
означает, что jQuery автоматически попытается проанализировать данные, поступающие с сервера, как JSON, и преобразовать их.Следовательно, в вашей функции «success» value
уже будет проанализирован и преобразован в объект.В свою очередь, использование $.parseJSON
не обязательно.Например, вы можете получить прямой доступ к value.success
.
Вот исправленная версия:
$('#formSubmit').on('submit', function(e) {
e.preventDefault();
$.ajax({
url: 'data-get.php',
type: 'POST',
data: $(this).serialize(),
dataType: 'json',
success: function(value) {
if (value.success == 'false') {
$('.alert').fadeIn().delay(3000).fadeOut();
$('.alert-msgText').html(value.datamsg);
}
}
});
});
Рабочая демоверсия: https://jsfiddle.net/khp5rs9m/2/ (В демоверсии я изменил ваш URL дляфальшивый, просто чтобы получить ответ, но вы можете увидеть, где я его изменил и оставил ваши настройки в закомментированной части).