질문/조언질답게시판

자바스크립트로 현재 내 닉네임을 변수로 가져오고 싶습니다.

방법이 있을까요?

 

아래와 같이 검색했더니:

pass php variable to javascript

pass php object to javascript

 

이런식으로 하라고 나오는데요,

var userAlias = "<?php $loggedAlias = $logged_info->nick_name; echo $loggedAlias; ?>";
console.log(userAlias);

 

콘솔에는 이렇게 나와버립니다.

<?php $loggedAlias = $logged_info->nick_name; echo $loggedAlias; ?>

 

간단하게 변수가 아닌 스트링을 에코해봐도 결과는 똑같습니다.

방법이 있다면 알려주시면 감사하겠습니다 ( _ _ ) 꾸벅 

  • profile

    간단하게 처리하시면 될 것 같습니다.
    var userAlias = '{$logged_info->nick_name}';
    alert userAlias;

     

    XE혹은 RX내에서 쓰이는 값들은 중괄호로 묶어주시면 바로 문자열로 출력됩니다.

  • profile profile
    아쉽게도 이 방법으로는 마찬가지로 {$logged_info->nick_name}라고 떠버리는군요 ㅠㅠ
  • profile profile
    var userAlias = "{$logged_info->nick_name}";
    alert (userAlias);

    모바일로 달았더니.. 문법을 개판으로 달았네요 ㅡ,ㅡ...
  • profile profile

    제목 없음.png

    참고로 위방법은 XE/RX 내부에서 동작할때만 사용 가능합니다.

    스킨,위젯,모듈 등등... 

    만약 XE/RX 의 외부 PHP파일에서 사용하는 경우라면 우선 XE/RX를 선언해주시고 값들을 PHP변수로

    넘겨받으신 다음에 넘겨주어야 겠지요

  • profile profile
    자세한 답변 감사합니다!
  • profile profile
    아침부터 심심하니까 설명충 등판...

    <pre>{print_r($logged_info)}</pre> 를 레이아웃 등의 잘보이는곳에 넣어보세요
    위와 같이 넣으면 $logged_info 와 그 하위의 변수들 구조와 내용을 확인할 수 있습니다.
  • profile profile
    꿀팁이군요 ㅋㅋ 감사합니다!
  • profile
    스킨 파일 내에서 로그인 회원의 닉네임을 전역 변수로 선언하면 이를 js 파일 등에 받아올 수 있을 겁니다.

    1. 스킨 파일에서
    <script cond="$is_logged">
    var userAlias = {$logged_info->nick_name};
    </script>

    2. js 파일에서
    console.log(userAlias);
  • profile profile
    감사합니다!
    저는 해당사항이 없지만, 스킨을 통하지 않으면 이 방법은 못쓸수도 있겠군요!
  • profile profile
    네, 그런 경우가 아니라면 member_srl을 잡아서 ajax를 통해 외부페이지로 넘겨주고, 외부페이지에서 member_srl을 받아 닉네임을 추출해서 다시 js로 반환하는 방법이 있긴 해요.
    그렇지만 닉네임 하나로 외부페이지까지 만들고 연결하는 등의 과정이 번거롭고, js내에서 member_srl을 포착할 수 있을지도 미지수이긴 하죠.

    .. 레이아웃 등에서 로그인 정보를 출력하는 부분이 있다면 차라리 거기 있는 닉네임 정보를 끌어다 쓰시는 것도 방법일지 모르겠어요.
  • profile profile
    역시 복잡해지는군요 ㅋㅋ
    혹시나 나중에 이 글을 읽으면서 이렇게라도 써야할 분이 계시다면 힘내세요..!