Programming/JSP

IE에서 동일한 ajax 요청을 하지 않을 경우

통통만두 2016. 7. 1. 13:33
반응형

안녕하세요~ 삽질하는 프로그래머 통통만두입니다.

이번에는 콜센터에서 사용할 CTI폰과 웹을 연동하고 있습니다. 걸려온 전화번호를 DB에 입력하는 로직을 ajax를 통해서 구현을 해놓았습니다. 


개발환경에서 테스트를 할 때 같은 번호로 계속 전화를 걸면서 확인을 하는데 웹페이지를 로딩한 이 후에 한 번만 DB에 전화번호가 저장이 되고 그 다음부터는 새로고침하기 전까지는 전화번호 저장이 안되는 것이었습니다. 처음에는 일시적인 현상이겠거니 하고 신경을 쓰지 않았는데 여기서 문제가 있다는 것을 느꼈습니다.


하지만 아무리 해봐도 처음 한 번 그 이후에는 저장이 되질 않는 것이었습니다. 중간에 연결이 끊겼거나 에러가 발생한다거나 뭐 이런것도 없었습니다. 나중에 알고 봤더니 IE환경에서만 나타나는 현상인데 ajax 요청하는 url 이 같으면 서버에서는 정상적으로 ajax 요청을 받지 못하지만 해당 결과는 cache를 사용해서 마지막 결과값이 떨어지는 것이었습니다. -_-;;


제가 알아본 바로는 아래와 같이 두 가지의 해결방법이 있습니다.



1. jQuery 에서 chche 기능을 끈다.

2. 파라미터가 동일하지 않도록 뒤에 t값(시간)을 붙여준다.


제가 적용한 방법은 첫번 째 jQuery에서 cache기능을 끄는 것이었습니다.



jQuery.ajaxSetup({cache:false});


적용을 하고 나니 url 이 같아도 ajax 요청을 할 때마다 서버에 요청이 오고 제대로 된 결과값이 나오더군요.


저와 같은 현상으로 인해서 고생하시는 분들에게 도움이 되었으면 합니다.


감사합니다.


참조 : http://veldise.tistory.com/106

반응형