PHP 변수와 데이터를 JavaScript로 전달하는 방법
P粉004287665
2023-08-21 12:31:08
<p>PHP에 변수가 있는데 JavaScript 코드에서 그 값을 사용해야 합니다. PHP에서 JavaScript로 변수를 어떻게 전달할 수 있나요? </p>
<p>다음 코드가 있습니다:</p>
<pre class="brush:php;toolbar:false;"><?php
$val = $myService->getValue() // API 및 데이터베이스 호출 수행
</pre>
<p>같은 페이지에 <code>$val</code> 변수의 값을 매개변수로 전달해야 하는 JavaScript 코드가 있습니다. </p>
<pre class="brush:js;toolbar:false;"><script>
myPlugin.start($val); // 이것을 시도했지만 작동하지 않았습니다.
<?php myPlugin.start($val) ?>
myPlugin.start(<?=$val?>); // 작동할 때도 있지만 실패할 때도 있습니다.
</스크립트>
</pre>
<p><br /></p>
저는 보통 HTML에서 data-* 속성을 사용합니다.
으아악이 예제에서는 jQuery를 사용하지만 다른 라이브러리나 기본 JavaScript에 적용할 수 있습니다.
여기에서 데이터 세트 속성에 대한 자세한 내용을 읽을 수 있습니다: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset
실제로 이를 수행하는 몇 가지 방법이 있습니다. 일부 방법에는 더 많은 오버헤드가 필요하고 일부 방법은 다른 방법보다 더 나은 것으로 간주됩니다.
특별한 순서는 없습니다:
이 글에서는 위의 각 방법의 장단점과 구현 방법을 자세히 설명합니다.
1. AJAX를 사용하여 서버에서 필요한 데이터를 가져옵니다
이 접근 방식은 서버측 스크립트와 클라이언트측 스크립트가 완전히 분리되어기 때문에 가장 좋은 것으로 간주됩니다.
장점
단점
구현예
AJAX를 사용하려면 두 페이지가 필요합니다. 하나는 PHP가 출력을 생성하는 페이지이고 다른 하나는 JavaScript가 해당 출력을 가져오는 페이지입니다.
get-data.php
으아악index.php (또는 실제 페이지 이름)
으아악파일 로딩이 완료되면 위 두 파일의 조합이 팝업으로 뜹니다
42
.더 많은 자료
2. 페이지의 특정 위치에 데이터를 에코하고 JavaScript를 사용하여 DOM에서 정보를 가져옵니다
이 접근 방식은 AJAX보다 덜 바람직하지만 여전히 장점이 있습니다. 어떤 면에서는 PHP가 JavaScript에서 직접 사용되지 않기 때문에 여전히 상대적으로 PHP와 JavaScript가 분리되어 있습니다.
장점
단점
<input type=hidden>
来存储信息,因为从inputNode.value
中获取信息更容易,但这样做意味着你的HTML中有一个无意义的元素。HTML有<meta>
元素用于文档的数据,HTML 5引入了data-*
속성을 사용합니다.구현예
이 경우 사용자에게는 보이지 않지만 JavaScript에는 보이는 일종의 요소를 만들어야 합니다.
index.php
으아악3. 데이터를 JavaScript로 직접 에코합니다
이것이 아마도 가장 이해하기 쉬운 방법일 것입니다.
장점