지금 연습해보고 있는 채팅 페이지인데 도움 구합니다
Copy
MENU
메인
채팅
공개 채팅
×
Close
확인
MEMBER LIST
function submitMessage() {
let room_id = [[${room_id}]];
let id = '[[${id}]]';
let chat_content = $('#chatContent').val();
let file_url = null;
let chat_type = "text";
let chatRoomContentDTO = {
"room_id": room_id,
"id": id,
"chat_content": chat_content,
"file_url": file_url,
"chat_type": chat_type
};
$.ajax({
type: "POST",
url: "/chat/submit_message",
data: JSON.stringify(chatRoomContentDTO),
contentType: "application/json; charset=utf-8;"
})
$('#chatContent').val(''); // 내용 초기화
}
let last_msg = 0;
let first_load = 0;
function loadMessage(get_msg) {
let room_id = '[[${room_id}]]';
let id = '[[${id}]]';
let chatRoomContentDTO = {
"room_id": encodeURIComponent(room_id),
"id": encodeURIComponent(id)
};
$.ajax({
type: "POST",
url: "/chat/load_message",
data: JSON.stringify(chatRoomContentDTO),
dataType: "json",
contentType: "application/json; charset=utf-8;",
success: function(data) {
if(data == "") return;
//let result = data.result;
get_msg = Number(data.last);
if(last_msg data.length) {
for(let i = 0; i data.length; i++) {
if(data.length > 0) {
addChatHtml(data[i].id, data[i].chat_content, data[i].chat_date);
}
}
}
last_msg = Number(data.last);
}
})
}
function addChatHtml(id, content, time) {
let myID = '[[${id}]]';
if(myID == id) {
$('.myMsg').append(
'' +
'' + id +'('+ time +')'+ '' +
'' + content + '' +
''
);
} else {
$('.anotherMsg').append(
'' +
'' + id +'('+ time +')'+ '' +
'' + content + '' +
''
);
}
$('#chatLog').scrollTop($('#chatLog')[0].scrollHeight);
}
function getInfiniteChatLoad() {
setInterval(function (){
loadMessage(last_msg);
}, 300);
}
$(document).ready(function () {
getInfiniteChatLoad();
})
지금 만들고 있는 채팅페이지인데 db연동까지 다 끝마친 상태입니다
그런데 텍스트를 치고 엔터키나 버튼을 누르면 새로고침이 되네요;;
아마 form을 사용해서 그런것 같은데 어떻게 해결해야할지 모르겠습니다
어떻게 해야하는지 알 수 있을까요?
답변을 작성하려면 로그인이 필요합니다.
로그인
리로드는 사라졌는데채팅 메시지가 바로바로 불러와지질 않네요 ㅜㅜ
답변 감사합니다