$.ajax({ /*{} 객체를 의미함 key: value값을 ,로 구분하여 객체의 속성이 만들어짐 */
url : '/client/start.kh', /* url파일로 접근, 컨트롤러에서 대기중인 url주소 */
dataType : 'json', /* 검사/net/응답을 보면{'result',true:,'msg':'보낸 메세지...input의 text임'}) 받은걸 자바스크립트가 알아서 변환해준다. */
type : 'POST', /* 폼에서 메소드형식을 생각하면됨 */
data : msg, /* 서버로 부터 받은 msg의 val를 메세지변수에 넣음 */
success : function(result) { /* 이벤트 핸들러 result에 서버가 보낸준 값이 리턴됨. */
console.log('채팅전송성공:' + result);
printer = setInterval(collList, 500);
},
error : function(e) {
alert('error:' + e);
},
});
처음 채팅프로그램 한다고 하고 공부하면서 하나하나 기록한것이다.
ajax이 너무 어려워서 이게 뭔소리가 하며 이것저것 찾아가 보며 한것이다....
그중 기본 양식 쓰는 설명은 역시나 생활코딩이 짱이다!!!!!!!!
여기서 주의점......입력한 대화 내용을 어떻게 불러오나 고민하다가
setInterval로 하면 설정시간 만큼 반복해서 출력한다고 해서...써봤다....
//종료 버튼 누를경우
function chatfinish() {
var titleNo= ${param.titleNo};
if (confirm("정말로 종료하시겠습니까?")) {
var csResult=prompt('상담결과를 입력하세요.');
$.ajax({
url : "/consult/finish.kh",
type : "post",
dataType:"json",
data : {
titleNo : titleNo,
csResult:csResult
},
success : function(data) {
//data = JSON.stringify(data); //종료시 object에러가 나서 첨부
if(data.result>0){
clearInterval(printer);
self.close();
}else {
alert("종료 되지 않았습니다. 다시 해주세요");
};
},
error: function(e) {
alert('error : ' + e.statusText);
}
});
};
그걸 종료 하는 구문이다........
script 들어오자 마자 var printer=' '; 를 선언하고
반복시킨다음 종료 버튼 누르면 clearInterval()로 종료하는건데.....
이넘이 종료는 되긴하는데 계속 에러가 발생하는 것이다.
object object에러....뭔지도 모르겠는데 계속 난다...찾아지지도 않는다.
DB는 저장되고 종료도 되는데 왜그런거야!!!!!!!!!
알고 봤더니 Setinterval로 각각의 출력문이 있는것이였다. 전체 데이터를 가져오는데다가
계속 printer에 덮여지는게 아니고 참조변수니깐 계속 연결되어 쌓이고 있던것이다.
그런데 clearinterval로 일하고 Serinterval은 무시하고 막 지혼자 나간다고 한것이였던 것이다....
일하던 녀석들이 어이가 없어서 욕을 하 는 것 이 였 다 !!!!!!!!!!미안혀라....
이럴경우.
clearInterval(printer);
setTimeout(function() {
self.close();
}, 50)
종료도 하고.....
if(!printer){
printer = setInterval(collList, 500);
}
앞서서 조건을 달면 될것 같다........
모르면 무식하게 쓴다!!!!!! 공부하자!! 조심하자!!!
'AJAX' 카테고리의 다른 글
ajax 3일차 : 댓글 삭제 (0) | 2022.10.06 |
---|---|
ajax 2일차 : 댓글달기 (0) | 2022.10.05 |
ajax : GSON 엄청간단하게 보이나 이해안됨.^^ (0) | 2022.10.05 |
AJAX 2일차 : 제이슨 배열출력방법 (0) | 2022.10.05 |
ajax. json으로 데이터 전송 (1) | 2022.10.04 |