반응형
똑같은 함수를 태우는 ajax임에도 어떤 호출은 성공 어떤 호출은 실패로 떠서 적잖이 난감한적이 있었음
검색해보니 아래와 같은 결과를 얻을 수 있었다.
결론부터 하자면 결과값 받기도 전에 페이지가 새로고침되면 code는 0으로 리턴된다.
가령 selectbox를 선택(onChange)시 페이지를 리로드하고 해당 값을 ajax로 보내 db값을 변경하려 들 때 이런 오류를 유발시킨다.
- doing cross-site scripting (where access is denied)
- requesting a URL that is unreachable (typo, DNS issues, etc)
- the request is otherwise intercepted (check your ad blocker)
- as above, if the request is interrupted (browser navigates away from the page)
따라서 onChange이벤트에서 form을 submit시키지 말고 ajax의 success 리턴 함수에서 정상임을 확인 후 submit시키는 방식으로 코드를 짜면 해결된다.
이걸 몰라서 20분을 헤맴 ㅡㅡ
반응형