JS 함수에는 PHP에 의해 생성 된 변수가 필요합니다. .js 파일은 <?php ?>
문자열을 해석 할 수 없으므로 .html 코드에서 전달해야합니다.PHP에서 javascript로 값 전달
예,하지만 HTML에서 JS 코드를 실행하는 것은 나쁜 습관으로 간주됩니다 (정확히 style
요소와 동일). 그럼 어떻게해야 하죠?
JS 함수에는 PHP에 의해 생성 된 변수가 필요합니다. .js 파일은 <?php ?>
문자열을 해석 할 수 없으므로 .html 코드에서 전달해야합니다.PHP에서 javascript로 값 전달
예,하지만 HTML에서 JS 코드를 실행하는 것은 나쁜 습관으로 간주됩니다 (정확히 style
요소와 동일). 그럼 어떻게해야 하죠?
이 같은 뭔가를 echo을 사용할 수 몇 가지 옵션이 있습니다
<? echo('<script type="text/javascript">var hello="world"</script>');
. 먼저 첫 번째 예를 만들 수 있습니다.
<?php
$myVariable = array('key' => 'value', 'anotherKey' => 10);
?>
// PHP variable output in javascript's object syntax
var phpData = <?php echo json_encode($myVariable); ?>;
// value
console.log(phpData.key);
// 10
console.log(phpData.anotherKey);
또 다른 옵션은 PHP 스크립트에 Ajax 요청을 사용하여 데이터를 검색하는 것입니다. 귀하의 질문에 따라 페이지가로드 될 때 데이터가 있으므로이 옵션은 유용하지 않을 가능성이 높습니다.
을 해석 할 수 없습니다. (.의 .js 파일에는 파일에게
.php
확장을 제공<?php ?>
문자열
을 당신이
header()
호출 PHP의 기본 콘텐츠 형식의 출력을 우선 확인하지만, HTML에서 실행되는 JS 코드 (단지) 스타일 요소와 같은 나쁜 관행을 고려했다.입니다
을 JS를 인라인하는 것은 좋지 않기 때문에 파일을 동적으로 생성하는 경우 어쨌든 캐시 할 수 없을 수도 있습니다.
HTML에서 JS 코드 실행 – bozdoz
js에서 PHP 코드를 읽도록 Apache를 구성 할 수도 있다고 생각합니다. 파일을 대체 할 수 있습니다. – bozdoz
글로벌 네임 스페이스 및 에치 만들기 o 필요한 데이터가있는'json_encode'd 객체. JSON 인코딩 된 문자열은 유효한 JS 객체 리터럴이므로 파싱 할 필요가 없습니다. –