2017-01-11 1 views
0

내 채팅 페이지가 잘 작동하는 경우를 제외하고는 새로 고침을하면 가장 최근에 댓글이 삭제되는 경우가 있습니다. 이것은 브라우저 캐시 문제 인 것 같습니다.jquery로 채팅 새로 고침 오류가 발생했습니다.

양식/POST를 사용하면 LOG.txt 파일에 새로운 주석이 추가되어 표시 div에 기록됩니다. 2 초 간격으로 javascript가 LOG.txt를 새로 고칩니다. 이것은 95 %의 시간 동안 잘 작동합니다.

그러나 때로는 새로운 주석이 나타나고 사라지고 이전 버전 (캐시 된 버전)에서 새로 고쳐진 자바 스크립트에서 사라집니다.

브라우저를 다시 시작하면 (캐시 ​​지우기) 일반적으로 문제가 해결됩니다. 잠시 동안 창을 유휴 상태 (10 분?)로두면 보통 시작됩니다.

이 새로 고침 오류를 피할 수있는 방법이 있습니까? 도와 줘서 고마워.

자동 새로 고침

<head> 
<script src="http://code.jquery.com/jquery-3.1.1.js"></script> 
<script type="text/javascript"> 
    function doRefresh(){ 
     $("#show").load("LOG.txt"); 
    } 
    $(function() { 
     setInterval(doRefresh, 2000); 
    }); 
</script> 
</head> 

NEW COMMENT에게 ADD

<body> 
<form id="box" method="post" onKeyPress="return checkSubmit(event)"> 
    <input name="new" autofocus="autofocus" type="text" > 
</form> 
<div id ="show"><?php include 'LOG.txt'; ?> 
</body> 
+0

해결책 : signalr 사용법을 배웁니다. 행운을 빕니다. –

+0

LOG.txt 호출에 날짜 스탬프 쿼리를 추가하면 문제가 해결됩니다. 이것을 사용하십시오 - 'code'function doRefresh() { \t $ ("# show") load ("LOG.txt", "f"+ (새 날짜)). valueOf()). . 은}'이 교체 을 code' - 'code'function doRefresh() { \t $ ("# 쇼") 부하 ("log.txt에를"); }'code' – Andante88

답변

0

캐시 된 콘텐츠가 문제가 될 경우, jQuery의 캐시를 비활성화 :

$.ajaxSetup ({ 
    cache: false 
}); 

는 TXT 거하는지 언젠가 hughe 수 .

관련 문제