У меня есть приложение для простого чата. Пользователи вводят имя пользователя и сообщение и должны быть вставлены в базу данных.Форма действия onclick без обновления с Ajax
Это не происходит с этим кодом, и, очевидно, я что-то отсутствует:
FORM + SCRIPT
<form action="chat_s.php" method="post" class="send" id="form1" >
<p>
<label for="name">Name:</label>
<input type="text" name="name" id="name">
</p>
<div style="width: 480px; height: 400px; text-align: left;" id="DIV_CHAT">
</div>
<p>
<textarea id="msg" rows="5" cols="66" name="msg" placeholder="Your Message"></textarea></p>
</p>
<input class="submit" type="submit" id="button1" name="submit" value="Send" onfocus="this.blur()" />
</form>
<script>
var frm = $('#form1');
frm.submit(function (ev) {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
alert(data);
}
});
ev.preventDefault();
});
</script>
Это файл PHP, который должен вставить в базу данных пользователей вход:
CHAT_S.PHP
<?php
include_once 'connection.php';
if(!isset($_POST['submit'])) {}else
{
$name = mysqli_real_escape_string($mysqli,$_POST['name']);
$msg = mysqli_real_escape_string($mysqli, $_POST['msg']);
$dt = date("Y-m-d H:i:s");
$sql = "INSERT INTO messages (username, chatdate, msg) VALUES ('$name', '$dt', '$msg')";
mysqli_query($mysqli, $sql); }
$mysqli->close();
?>
Но результат ничего. Он ничего не предупреждает! И ничего в базу не вставить, он просто обновляет окно чата :(
Используйте отладчик для пошагового вашего кода сервера Смотрите, что он вызывается, проверьте значение. переменные –
Проверьте ответ, который вы получаете в сетевом потоке. Возвращает ли оно какое-либо сообщение об ошибке? – kidA
В сети нет ошибок. (Все зеленые. Я не знаю, где искать проблему? – mpavlovic89