라이믹스 AJAX communication error while requesting 오류문의
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.0 |
https://xetown.com/questions/431045
라이믹스 살펴보기전에 해당 부분 다시 문의드립니다
해당글에 기진곰님께서 아래와 같이 답글을 주셨는데요
AJAX 요청 실패시 그냥 먹통이 되어버리는 경우가 너무 많아서 무조건 뭔가를 띄우도록 바꿔놓았습니다. XE는 웬만한 에러는 숨겨버리지만, 라이믹스는 최대한 눈에 띄게 에러를 표시하여 고치도록 유도하자는 주의라서요 ㅎㅎ
원칙적으로는 에러 발생시 error 콜백이 지정되어 있다면 메시지를 띄우지 않고 콜백 함수를 호출하는 게 맞지만, 콜백 함수를 워낙 엉성하게 해놓은 자료들이 있어서-_- 아무 것도 안 뜨니까 패치한 목적에 어긋난다고 판단하여 현재는 얄짤없이 에러를 띄우고 있습니다.
XE에서 물려받은 exec_xml, exec_json 함수의 파라미터 순서를 멋대로 바꾸거나 파라미터의 의미가 바뀌면 곤란하기 때문에, 인터넷 연결이 끊긴 경우의 에러까지 콜백으로 받는 기능은 나중에 라이믹스 전용 wrapper function을 추가하면서 만들어야 할 것 같네요. 그 때까지는 직접 $.ajax를 사용하시는 방법밖에 없겠습니다.
현재 시간이 많이 지난상태인데 wrapper function 이란 함수?가 만들어진 상태인가요??
댓글 5
인터넷 연결이 끊기거나 그 밖의 이유로 서버 접속이 아예 안 되는 경우에는 얄짤없이 alert입니다. 해당 부분에 대해서 더이상 문제를 제기하는 분이 없었기 때문에 딱히 수정할 이유가 없었습니다.
에러 콜백함수가 지정된 경우에 한하여 이것을 건너뛰도록 패치할 수도 있겠습니다만, 구체적으로 어떤 상황에서 왜 그것이 필요한지에 대한 설명을 듣고 싶습니다. 원래 XE에서 지원하던 AJAX 에러 콜백함수는 "서버단에서 XE가 에러 메시지를 반환한 경우"를 처리하도록 되어 있었고, 라이믹스도 그 가정을 그대로 따르고 있습니다. 접속이 되지 않아서 에러 메시지조차 확보하지 못한 경우까지 모두 커버하도록 한다면 서드파티 호환성에 대한 고려가 필요합니다. 예상치 못한 시점에 에러 콜백함수가 호출되는 것도 문제를 일으킬 수 있기 때문입니다.
즉, 호환성이 깨질 리스크 + 에러를 얼렁뚱땅 넘어가지 않는다는 라이믹스의 일반적인 원칙을 어기는 것과 비교해서 장점이 더 크다고 저희를 설득해 주시기 바랍니다.
호환성문제가 있을수 있다고 하시니 제가 다른방법을 찾아보도록 하겠습니다.
ㅋㅋ 이제 얘기가 되는군요. 좋은 아이디어입니다. console.log라면 에러를 찾기가 어렵지도 않을 테고, 대부분의 오래된 자료들은 exec_xml을 사용하니, exec_json에 한하여 조정을 시도해 본다면 호환성 이슈를 최소화할 수 있지 않을까 싶기도...