@rinaz22

Почему не работает AJAX при отправке POST?

Всем привет! Есть AJAX код, который отправляет post данные с формы в php файл. Но почему-то этот код не работает. Если точнее, то нет ответа от php файла. Вот AJAX:
spoiler
$(document).ready(function(){
$('#btn_submit').click(function(){
// собираем данные с формы
var user_name = $('#user_name').val();
var user_phone = $('#user_phone').val();
//var text_comment = $('#text_comment').val();
// отправляем данные
$.ajax({
url: "/action.php", // куда отправляем
type: "post", // метод передачи
dataType: "json", // тип передачи данных
data: { // что отправляем
"user_name": user_name,
"user_phone": user_phone,
//"text_comment": text_comment
},
// после получения ответа сервера
success: function(data){
$('.messages').html(data.result); // выводим ответ сервера
}
});
});
});

Вот PHP:
spoiler

if(empty($errors)){		
		// собираем данные из формы
		$message  = "Имя пользователя: " . $_POST['user_name'] . "<br/>";
		$message .= "Телефон пользователя: " . $_POST['user_phone'] . "<br/>";
		//$message .= "Текст письма: " . $_POST['text_comment'];		
		send_mail($message); // отправим письмо
		// выведем сообщение об успехе
		$msg_box = "<span style='color:red;text-align:center;display:block;padding-top:10px;'>Сообщение успешно отправлено!</span>";
	}else{
		// если были ошибки, то выводим их
		$msg_box = "";
		foreach($errors as $one_error){
			$msg_box .= "<span style='color: red;'>$one_error</span><br/>";
		}
	}

  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
что бы был ответ, вероятно его надо отправить, хотя бы:
echo $msg_box;
Ваш код ничего не выводит, ничего не возвращает, вообще ничего не делает. Отправляет почту и создает в пустоту переменные.
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Есть подозрение что у вас форма (которую в коде вы не вставили) просто отправляет данные, перезагружая страницу, так как отсутствует preventDefault() по клику на кнопку субмит.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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