AJAX에서 readyState = 4 인데 status 가 0 인 경우 겪으신 분 계시면, 알려주시면 감사하겠습니다.
글쓴이: cococo / 작성시간: 금, 2011/03/25 - 10:20오후
안녕하십니까. 문제가 좀 안풀려서 뒤져보다 잘 모르겠어서 질문 올립니다.
지금 상황이, AJAX통신을 하고 있습니다. 근데 다른 브라우저에서는 잘 돌아가는 코드가 SAFARI에서만 이상하게 나옵니다.
상황을 더 자세히 말씀드리면, XMLHttpRequest 에서
XMLHttpRequest.readyState = 4 로 떨어지는데,
XMLHttpRequest.status = 0 이 됩니다.
지금 작업은 oauth 인증 부분 붙이는 거구요. 이게 이상한게... 샘플 보면서 하고 있는데, IE 와 FF 에서는 잘 되는데( oauth 관련 파라메터 던지면, readystate = 4 / status = 200으로 잘 떨어집니다.), SAFARI에서만 readystate = 4 / status = 0이 됩니다.
sendbox 문제는 아닌 것 같은게, 만약 sendbox 문제라면 IE와 FF에서도 안되야 되는데, 다른 건 되네요.
이것참.... 남자한테 참 좋은데 말할 수 없는 것도 아니고... 한 다섯시간 가량 찾아본 것 같은데 보안 문제랑 local에서 file 읽는 거 빼고는 특별한 이야기가 없네요.
혹시 아시는 분 있으시면, 힌트라도 부탁드립니다.
그럼, 즐거운 주말 되시기 바랍니다.
Forums:
안녕하세요.
저도 같은 문제로 인해 어려움을 겪고 있는데... 혹시 원인을 발견하셨으면 좀 알려주세요. ㅜㅠ
좀 오래된 것이지만, 혹시 검색해서 들어오실 수 있기
좀 오래된 것이지만, 혹시 검색해서 들어오실 수 있기 때문에 답변 남깁니다.
제 경우는 cross origin 문제였습니다. (글 쓰신 분은 사파리에서만 안나온다고 하시니 같은건지는 모르겠네요.)
서버와 클라이언트의 도메인이 서로 달라서 접근을 제대로 못하는 것입니다. (브라우져에서 왜 자세한 정보를 쉽게 안보여주는지 모르겠습니다. 크롬으로 디버깅 하다보면 나오긴 했던듯.)
가장 쉬운 방법은 서버측에서 설정을 해주는 것이고, 이게 (보안등) 좀 문제가 있다 싶으면, 다른 방법을 우회해서 해결해야합니다.
댓글 달기