내 CakePHP 응용 프로그램에서 ".js"파일에 액세스해야하는 일부 컨트롤러에서 세션 변수를 만들고 있습니다. 이 작업을 수행 할 수있는 방법이 있습니까?CakePHP의 .js 파일에서 세션 변수에 액세스하는 방법
답변
는이 같은 매개 변수로 전달 제안 -
<a onclick="some_function('<?php echo $_SESSION['var'] ?>')">Click</a>
하고이를 자바 스크립트 함수 some_function()
을 인라인으로 할당하는 대신 처리합니다. 이렇게하면 자바 스크립트 파일을 서버 측 코드에서 자유롭게 사용할 수 있습니다. 이것은 가장 깨끗한 방법입니다.
세션 변수가 서버 측이기 때문에 인라인 코드를 통해 클라이언트 측 언어로 직접 처리하면 안됩니다.
원하는 값이 포함되도록 JS 파일을 동적으로 생성해야합니다. 당신은 PHP를 통해 .js
파일을 구문 분석하는 서버를 설정할 수 있습니다, 또는 당신은 단지 JS 파일 .php
이름을 지정할 수 있습니다 :
var myVar = '<?php echo addslashes($_SESSION['myVar']); ?>';
은 코딩 표준 포인트와 js의 좋은 PHP 코드를 혼합 한 것입니까? 이 작업을 수행하는 대신 서버 측 값이 필요한 경우 js 파일을 별도로두고 js 함수에 매개 변수를 전달하는 것이 낫지 않습니까? –
@sandeepan : 물론, 처음에는 인라인 스크립트를 제안하려고했으나 OP가 .js 파일을 언급했기 때문에 내 대답 만 편집했습니다. 세션 도우미를 가지고있을 때 – casablanca
$ _SESSION을 직접 사용하는 것은 좋지 않습니다. 자산을 밀어 넣기 위해 PHP를 사용하면 브라우저의 캐시 시간이 1 백만 배나 느려지거나 사용하지 못하게됩니다. – dogmatic69
- 1. C에서 JS 변수에 액세스하는 방법 #
- 2. 페이지의 세션 변수에 액세스하는 방법
- 3. 외부 사이트에서 codeigniter 세션 변수에 액세스하는 방법
- 4. SSRS 2005 보고서에서 세션 변수에 액세스하는 방법
- 5. `.js` 파일에서 서버 측 컨텍스트에 액세스하는 방법?
- 6. 두 번째 PHP 파일에서 세션 변수에 액세스하는 방법은 무엇입니까?
- 7. CakePHP의 액세스하는 다른 컨트롤러
- 8. 모델에서 시간 변수에 액세스하는 방법
- 9. CakePHP의 레이아웃 파일에서 모델 액세스
- 10. 부트 스트랩에서 URL 매개 변수에 액세스하는 방법
- 11. cakephp의 다른 데이터베이스에서 테이블에 액세스하는 방법
- 12. EJB에서 세션 빈에 액세스하는 방법
- 13. JS 변수를 PHP 변수에 전달하는 방법
- 14. Asp.net MVC에서 세션 변수에 액세스하는 가장 좋은 방법은 무엇입니까?
- 15. CakePHP의 로그인 및 세션 관리
- 16. IronPython : 추적 다시 지역 변수에 액세스하는 방법
- 17. foreach (C#) 외부 변수에 액세스하는 방법
- 18. struts2에서 url 매개 변수에 액세스하는 방법
- 19. 콜백 내에서 클로저 변수에 액세스하는 방법
- 20. 게시물을 만들 때 매개 변수에 액세스하는 방법
- 21. 헬퍼 사양의 params 변수에 액세스하는 방법
- 22. 다른 클래스/viewcontrollers에서 변수에 액세스하는 방법
- 23. jQuery에서 CFC 반환 변수에 액세스하는 방법?
- 24. 중첩 된 매개 변수에 액세스하는 방법
- 25. 보기에서 컨트롤러의 클래스 변수에 액세스하는 방법
- 26. 이미지를 세션 변수에 저장
- 27. 세션 변수에 넣을 내용
- 28. .js 파일에서 전역 변수를 선언하는 방법
- 29. js 파일에서 thickbox 호출
- 30. JQuery와는 페이지의 JS 파일에서
정확히, 왜요? 세션 변수는 서버 측에만 *되도록 설계되었습니다. – strager
동의, 세션 변수 또는 모든 서버 측 변수는 클라이언트 측 코드에서 직접 처리/액세스하면 안됩니다. 난 내 대답 –
strager, sandeepan에서 한 것처럼 그들을 전달하는 것이 좋습니다 : 그래서 당신은 세션에서 사용자 이름을 저장할 때 그 데이터 클라이언트 측에 대한 액세스를 허용하지 말고 있습니까? – dogmatic69