본문 바로가기

내컴퓨터/컴퓨터사용하기

ajax 새로고침 안될때

ajax로 데이터를 받아와서 jqgrid를 그리고,

jqgrid의 row를 추가하거나 삭제하면 jqgrid가 갱신되도록 기능구현을 했다.

내가 테스트하는 ie버전은 11.

고객의 ie버전은 9.

그런데 나는 추가/삭제시 jqgrid 새로고침이 아주.잘 되는데..

고객은 계속해서 추가/삭제시 기존 데이터가 보여진다며 문제제기를 하였다.

ie9에서 테스트 할 수있는 상황도 아니었고,

고객과도 멀리 떨어져있는 상태라서 답답할 노릇.

로그를 보내달라고 하였는데,

insert, delete 쿼리 이후 select 쿼리날리는 로그가 없는게 아닌가!!

고객님, 로그를 다 보내주세요. 몇번을 요청해도...

insert/delete 로그뿐..select로그는 없다.

고객님, 이게 로그 전부 맞나요?

-네

답답해 미칠노릇.

그때 문득, 혹시, cache때문인가? 하는 생각이 들었고..

get방식으로 통신하던 ajax를 post로 바꿨더니 잘 된단다!!!

ajax가 캐시때문에 데이터 새로고침이 안되는 문제는 처음 겪어봤다.

알면 금방고치지만, 몰랐다면 시간을 엄청 잡아먹을뻔한 버그.

특히나 ie버전에 따라 동작이 달라지는 문제는 정말 짜증나는 것 같다.

혹시 지금 개발중인데 ajax 데이터 갱신이 안되는 문제가 발생한다면

ajax의 통신방법이 get방식이 아닌가 확인해보자.

get방식이라면 post방식으로 바꾸거나,

ajax 옵션중 cache:false로 설정해보자.