묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
ret_obj를인자로 받아오고 배열처럼 사용하고있습니다. ret_obj안에 뭐가 들었는지 모두 보고싶은데... 쩝.. 어떻게 해야할지 모르겠네요.
ret_obj + PHP에서 print_r()같은 기능의 함수가 JS 에도있나요?
2008.08.06 11:04
특정 변수나 객체를 인자로 받으면 print_r(변수); 처럼 보기좋게 내용을 알려주는 함수가 JS에도 있는지 궁금합니다.
일단 간단한 변수같으면
<script> alert(current_url); </script>
이렇게 해서 보면 팝업해서 보여주는데 (아마도)객체인 경우는 안되는거 같네요.
풀어서 보고싶은 대상은 스킨안에서 사용되는 ret_obj 라는 녀석인데 이름을 봐서는 객체같은데... 사용되는걸 보면 배열변수 같기도 하고... 여튼 alert(ret_obj); 이렇게해서는 아무것도 표시가 안되는군요.
FF의 불벌래(FireBug) 콘솔에는 "ret_obj is not defined" 라고 나오구요.
Off 모임때 나온 예제 bookmark 모듈을 가지고 작업하다가 거기에서는 insert후 callback되는 JS에서 리디렉션을 그냥 자기자신(current_url)에게 보내버리기 때문에 다른곳으로 보내기위해서 게시판모듈 공식스킨의 함수를 보고 참고하고있는데 잘 안되는군요.ㅠㅠ
/* 글쓰기 작성후 */ function completeDocumentInserted(ret_obj) { var error = ret_obj['error']; var message = ret_obj['message']; var mid = ret_obj['mid']; var document_srl = ret_obj['document_srl']; var category_srl = ret_obj['category_srl']; //alert(message); var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act',''); if(category_srl) url = url.setQuery('category',category_srl); //alert('current_url = '.current_url.'/n url = '.url); // #### 문제[1] #### // 윗행(alert)은 url 처리전과 처리후를 보고싶어서 추가한 부분인데, // 이게 있으면 "대상을 찾을수 없습니다."라는 메시지와 함게 글쓰기(입력) 자체가 안된다.-.-;; // 되돌아가는 url을 찾아내는 것이 게시물을DB입력이 끝나고 나서 실행되는게 아니었나? location.href = url; }
ret_obj를인자로 받아오고 배열처럼 사용하고있습니다. ret_obj안에 뭐가 들었는지 모두 보고싶은데... 쩝.. 어떻게 해야할지 모르겠네요.
질문은 위 코드안에 주석에도 있고....
개인적인 작업노트에는 궁금증이 산떠미입니다.ㅋㅋ
여러가지고 막히는것이 많네요.
PS. 질문답변 게시판에 "개발"관련 카테고리가 필요하지 않을까용?
댓글 3
-
하늘03
2008.08.06 12:18
-
◀CGlink▶
2008.08.06 14:39
감사합니다.
이제야 js 디버깅을 위한 "중단점"이라는 것을 알게되었네요.
아직도 firebug는 제데로 사용하지 못하고있는거 같습니다.
아마 1%정도나 쓰나?^^;; 수정할 수 있는 메뉴가있던데... 직접코딩작업도 할 수 있는건가?
여튼 별거없는 ret_obj 내용을 볼수있어서 좋습니다.^__^
객체는 아니고 배열변수인거 맞죠?
act = null;
error = 0;
message = 'success';
redirect_url = null;
이렇게 4개의 값을 가지고있네요.
근데 어디에서 ret_obj가 선언되는 것인지는 아직도 궁금합니다.
common.js같은 곳에서 늘 뿌려주는 것인지.. 늘뿌려준다면 상황에 따라 항목들도 변하는 것인지...(변하는거 같은데...)
message = 'success';를 다른값으로 나오게 할 수 있는것인지... (message는 프론트용이아니라 개발자용이라고 보이기도 하네요.)
선언되는 곳을 봐야 이해가 확실히 될것 같아서요. -
하늘03
2008.08.06 17:44
일단 선언은 common/js/xml_handler.js 에서 해줍니다.
ret_obj를 만들기 위한 xml 문서 생성은
classes/display/DisplayHandler.class.php
의 _toXmlDoc 에서 합니다.
꽁수를 알려드리면;
적당한 위치에; 에러를 삽입하시고 firebug의 스크립트 설정에서 모든 오류에서 멈춤을 선택하시면 그 부분에서 break이 걸립니다.
그 때 보시면 watch(감시) 에 ret_obj의 내용이 보일꺼에요 ㅎㅎ
예를 들면 bookmark.js에 alert(message)밑에 abc() 이런걸 넣어보셔요-/
(ret_obj 에는 별내용 없습니당; ㅎㅎ)