Есть форма:
<div id="addCommentContainer">
<form id="addCommentForm" method="POST" action="">
<label for="name">Имя</label>
<input type="text" name="name" id="name">
<label for="email">E-mail</label>
<input type="text" name="email" id="email">
<label for="messageBody">Текст сообщения</label>
<textarea name="messageBody" id="messageBody" cols="30" rows="10"></textarea>
<div class="buttons">
<!--<input type="submit" id="preview" value="Предворительный просмотр">-->
<input type="submit" id="submit" value="Отправить">
</div>
</form>
</div>
Я отправляю её в php
для вставки данных в БД через ajax
без перезагрузки страницы (Данные добавляются в таблицу БД корректно). Код скрипта:
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('#addCommentForm').bind('submit', function () {
$.ajax({
type: 'post',
url: "submit.php",
data: $(this).serialize(),
success: function (msg) { //Данные отправлены успешно
if(msg.success){
//Отобразить новый комментарий
} else {
//Сообщение о не корректном вводе
}
}
});
return false;
});
});
</script>
Не могу получить значение msg.success
в if из php
.
Вот код php
:
$arr = $_POST;
$validates = Comment::validate($arr);
if ($validates) {
$result = mysqli_query($link, "INSERT INTO comment(name, email, messageBody) VALUES ('" . $arr['name'] . "', '" . $arr['email'] . "', '" . $arr['messageBody'] . "')");
echo json_encode(array("success"=>1));
}
Мой вопрос: подскажите новичку, возможно вся конструкция не верна, я уже голову сломал попытками.
Нужно явно указать формат ответа от сервера.
Так как в вашем случае json
, то нужно его и указать.
$.ajax({
url: url,
dataType: 'json', // вот так
data: data,
success: callback
});
Подробнее о методе ajax
Справка на русском о параметре dataType
Так же советую после echo json_encode(array("success"=>1));
выполнять принудительное завершение скрипта, вот так:
echo json_encode(array("success"=>1));
die;
это даёт гарантию, что после вывода json
больше ничего не попадёт в ответ и не сломает его структуру.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Стоит жирная задача реализовать SSR (Server-Side Rendering) в проекте, но постоянно вылазят разные трудности
Подскажите пожалуйста, какой синтаксис у HQL запроса, который возвращал бы объекты из базы, при определённом условии
Нужно, чтобы компаратор отсортировал массив по Типу(Type) и Цене(Price)