Итак, я пытаюсь создать приложение чата, и я знаю, что люди уже задавали этот вопрос, но, похоже, это не решает мою проблему.
Я уже пытался добавить функцию beforeSend
но, похоже, это не решает проблему.
HTML-код:
<form method="post" id="message_form" action="insert_msg.php">
<textarea placeholder="Type your message..." style="width: 550px;" id="messagea" name="messagea"></textarea>
<div id="galilei">
<button class="msg_send_btn" type="submit" name="send_msg" onclick="ref(); SubmitFormData();"><i class="fa fa-paper-plane-o" aria-hidden="true"></i></button>
</div>
</form>
Ajax-код:
$(document).ready(function() {
$.ajaxSetup({ cache: false });
setInterval(function() {
$('#msg_history').load('msg_history.php');
}, 500);
});
function ref() {
$(document).ready(function() {
$.ajaxSetup({ cache: false });
setTimeout(function() {
$('#message_form').load('form.php');
}, 500);
});
}
function scroll() {
$(".msg_history").animate({ scrollTop: $(this).height() }, "slow");
return false;
}
function SubmitFormData() {
var frm = $('#message_form');
frm.submit(function (ev) {
$.ajax({
method:"POST",
url:"insert_msg.php",
data: frm.serialize(),
beforeSend: function(){
$('#galilei').html("Ajax Request is Processing!");
},
success: function (data) {
}
});
ev.preventDefault();
});
}
Я ожидал, что он не будет дублироваться, как яМожно сказать «Эй», и он хранит только 1 «Эй» в базе данных. Но когда я отправляю сообщение, скажите «Привет». как обычно, в базе данных хранится 1 «Hello». Но, когда я сообщаю другому, скажем, «Вау», он сохраняет 2 вау в базе данных и т. Д.