kiselev-webmaster
@kiselev-webmaster

Как исправить ошибку при ajax запросте?

Приветствую. Третий день бьюсь над проблемой, помогите разобраться:
Есть самописная crm, есть форма на сайте, данные из формы отправляю запросом:
var forma_array = form.serializeArray();
$.ajax({
	type: "POST",
	url: '/_iska2/action.php?actionType=RequestAjaxAction&method=createRequest',
	data: forma_array,
	contentType: "application/json; charset=utf-8",
	dataType: "json",
	success: function(data) {
		console.log(data);
	},
	error: function(data){
		console.log(data);
	}
});

Данные принимает обработчик:
if ($_POST['last_name'] && $_POST['first_name'] && $_POST['type_id'] && $_POST['phone'] && $_POST['sum']) {
        ...
} else {
	print(json_encode(array('success' => false, 'sad' => print_r($_POST, true), 'message' => 'Не все поля заполнены!')));
}

И вот что получаю в ответ от обработчика:
5a7aa2c5e1136509948333.jpeg

Имена полей все правильные, подозреваю, что данные приходят на обработчик не в том виде, но что именно не могу понять..
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 2
@kacheleff
fullstack developer
Метод serializeArray возвращает не json, а массив объектов (https://api.jquery.com/serializeArray/). Попробуйте превратить forma_array в json-строку с помощью JSON.stringify, и передавать эту строку. Вероятно, сервер падает с ошибкой при попытке прочитать json, который на самом деле не json
Ответ написан
Комментировать
@SteepZero
У меня $(form).serialize(); хорошо работает
(Без Array)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы