일부 브라우저에서는 jQuery ajax로 GET, PUT method 호출 시
받아온 결과값이 항상 일정하거나 PUT이 제대로 먹히지 않는 경우가 있음.
원인을 몰라 난감하던 차에 아래 사이트 발견
selfesteem님의 [jquery] $.ajax 에서 GET일때 cache가 남는경우...
: http://selfesteem.tistory.com/entry/jquery-ajax-%EC%97%90%EC%84%9C-GET%EC%9D%BC%EB%95%8C-cache%EA%B0%80-%EB%82%A8%EB%8A%94%EA%B2%BD%EC%9A%B0
http://stackoverflow.com/questions/367786/prevent-caching-of-ajax-call
위의 사이트를 참조하여
ajax로 GET method 호출 시
cache : false, 를 항상 추가하고
ajax로 PUT method 호출 시
URL + '?' + $.now() 로 해결함.
그리고 이 문제는 Galaxy S2에서 항상 재현된다.
2014년 12월 11일 목요일
2014년 12월 10일 수요일
jQuery ajax() 사용시 jqXHR의 error code가 0일 경우
jQuery를 사용하여 Ajax를 사용해서 REST API를 잘 호출 하고 있었으나
종종 앱 종료 시 호출되는 Ajax 호출이 error로 처리 되어
서버에서 종료 처리가 되지 않고 앱이 그냥 종료되는 상황이 발생함.
Ajax 호출 코드는 다른 곳에서도 잘 실행되던 거라
종료 처리를 하는 DELETE method가 문제인가 계속 확인을 하던 중
아래 링크들을 확인함.
http://cricri4289.blogspot.kr/2013/10/jquery-ajax-error-code-0.html
http://stackoverflow.com/questions/14313283/jquery-ajax-jqxhr-status-is-always-0
일반적인 경우는 Ajax 호출 후 바로 페이지가 새로고침이 되거나 전환 될 경우
Ajax 호출이 실패하고 error code가 0으로 리턴 될 경우가 있다고 함.
그게 아니라면 실제로 서버 연결이 안되거나 할 경우이고.
암튼 나의 경우는 Ajax 호출 후 바로 앱을 닫아 버려서
미처 Ajax 호출이 완료되지 않은 상태에서 앱이 종료되어 문제가 되었던 경우라서
Ajax 호출이 완료 되어 callback에서 종료 처리를 하고
혹시나 몰라 timeout을 사용해서 종료 처리를 하도록 함.
종종 앱 종료 시 호출되는 Ajax 호출이 error로 처리 되어
서버에서 종료 처리가 되지 않고 앱이 그냥 종료되는 상황이 발생함.
Ajax 호출 코드는 다른 곳에서도 잘 실행되던 거라
종료 처리를 하는 DELETE method가 문제인가 계속 확인을 하던 중
아래 링크들을 확인함.
http://cricri4289.blogspot.kr/2013/10/jquery-ajax-error-code-0.html
http://stackoverflow.com/questions/14313283/jquery-ajax-jqxhr-status-is-always-0
일반적인 경우는 Ajax 호출 후 바로 페이지가 새로고침이 되거나 전환 될 경우
Ajax 호출이 실패하고 error code가 0으로 리턴 될 경우가 있다고 함.
그게 아니라면 실제로 서버 연결이 안되거나 할 경우이고.
암튼 나의 경우는 Ajax 호출 후 바로 앱을 닫아 버려서
미처 Ajax 호출이 완료되지 않은 상태에서 앱이 종료되어 문제가 되었던 경우라서
Ajax 호출이 완료 되어 callback에서 종료 처리를 하고
혹시나 몰라 timeout을 사용해서 종료 처리를 하도록 함.
피드 구독하기:
글 (Atom)