2014-09-24 2 views
-2

javascript 함수에서 flask.g 변수에 액세스하려면 어떻게해야합니까? 예 : {% if g.locale! = 'en'%}javascript에서 flask.g 변수에 액세스

+1

자바 스크립트가 아니라 서버에 브라우저에서 실행됩니다. 브라우저에서'flask.g'에 액세스 할 수 없습니다. 대신 브라우저에 보내는 페이지에 필요한 데이터를 포함하십시오. –

+0

이것은 아마도 좋은 습관이 아닙니다. 'g'에 묶여 야합니까? – corvid

+0

Miguel의 회신을 읽고 나면 이해합니다. 감사합니다. – Ryan

답변

4

브라우저에서 flask.g에 액세스 할 수 없습니다. 불행히도 서버에만 존재합니다. 당신이 할 수있는 가장 가까운 일은 템플릿에 관심있는 g 속성을 자바 스크립트 코드로 작성하는 것입니다. 예 :

<script> 
    var g_locale = "{{ g.locale }}"; 
    alert(g_locale); 
</script> 
+0

안녕하세요, Miguel, 답장을 보내 주셔서 감사합니다. 변수에 액세스 할 수 있습니다. 그러나 로컬 변수는 글로벌 변수의 최신 값을 얻지 못한다 – Ryan

+0

Javascript가이 값을 유지할 때까지 "최신 값"이 없다.'Flask.g'가 사라지고'g' 컨테이너가 생성되고 각 요청의 일부로 파괴되었습니다. 템플릿을 렌더링 할 때'g '에 있던 값을 얻을 수 있습니다. – Miguel

+0

고마워 미구엘, 지금 이해합니다. 템플릿에서 ajax 호출 후 액세스하려고했습니다. – Ryan

0
<script> 
    var g_locale = {{ g.locale|tojson }}; 
    alert(g_locale); 
</script> 
관련 문제