PHP 변수를 자바 스크립트에 전달하기 전에 왜 PHP 변수를 에코해야합니까? 예를 들어 PHP 배열을 자바 스크립트로 전달 : 왜 PHP 변수를 에코해야합니까?
,drawChart(600/50, <?php echo $day; ?>, ...)
이유는 부품을 필요? 왜 안되는거야
drawChart(600/50, $day, ...)
?
감사합니다.
PHP 변수를 자바 스크립트에 전달하기 전에 왜 PHP 변수를 에코해야합니까? 예를 들어 PHP 배열을 자바 스크립트로 전달 : 왜 PHP 변수를 에코해야합니까?
,drawChart(600/50, <?php echo $day; ?>, ...)
이유는 부품을 필요? 왜 안되는거야
drawChart(600/50, $day, ...)
?
감사합니다.
강한 개념적 문제를 설명하려면 질문하는 것이 필요합니다. 자바 스크립트 코드는 서버가 페이지의 HTML을 반환하고 클라이언트 측에게 코드라고 후에 웹 브라우저 에서 실행되는 동안 PHP 코드는 웹 서버에서 처리되며, 서버 측 코드라고합니다 . 따라서 서로 다른 플랫폼에서 실행 단계가 다릅니다. 자바 스크립트 코드는 PHP 소스 코드를 평가할 수 없으며 PHP 변수 및 상태에 대한 지식이 없습니다.
질문의 코드는 자바 스크립트 함수 호출을 나타내며 매개 변수 중 하나는 PHP 변수입니다. PHP 변수는 브라우저에서 받기 전에 서버에서 평가되어야하므로 javascript 호출이 올바르게 작동합니다. $day
변수는 다음 코드 (술 '를 예를 들어) 값 13
이있는 경우 :
drawChart(600/50,
<?php echo $day; ?>
, ...)
이 같은 HTML로 렌더링됩니다
drawChart(600/50,
13
그러나 PHP 항목을 건너 뛰면 다음과 같이 표시됩니다.
drawChart(600/50,
$day
, ...)
는 아마도 브라우저에서 작동하지 않습니다.
또한 $day
이라는 javascript 변수가있을 수 있으므로 PHP가 평가 한 대신 코드에서이를 사용하므로 오류없이 작동 할 수 있지만 예기치 않은 동작이 발생할 수 있습니다.
업데이트 : 이전 질문에 대한 응답으로이 부분에 대한 더 자세한 설명이 나와 있습니다.
What is the difference between client-side and server-side programming?
귀하의 PHP 코드는 서버 측입니다. 변수 $day
은 웹 요청이 서버에 도달 할 때 평가됩니다.
귀하의 JavaScript 코드는 클라이언트 측입니다. 서버의 관점에서 보았을 때 정적 텍스트는 사용자의 브라우저로 전송됩니다. 그런 다음 브라우저는이 정적 텍스트를 코드로 해석하여 실행합니다.
JavaScript가 실행될 때 PHP가 실행되는 환경에 더 이상 존재하지 않으므로 PHP와 JavaScript간에 변수를 "공유"할 수 없습니다.
$day
의 값을 PHP 컨텍스트의 변수로 출력하려면 echo
을 사용합니다. 그 값은 자바 스크립트에 주입되어 더 이상 클라이언트 컨텍스트의 변수가 아닙니다. 예를 들어 drawChart
을 하드 코딩 된 값으로 호출 한 것과 같습니다.
PHP 변수 또는 JavaScript 변수로 '$ day'를 사용한다는 것을 스크립트에서 어떻게 알 수 있습니까? – JJJ
그래서 echo는 변수 대신 JS 값을 전달합니다. –