PHP에서 JavaScript 함수를 호출하는 방법?
PHPPHP에서 JavaScript 함수를 호출하는 방법?
PHP에서 JavaScript 함수를 호출하는 방법?
<?php
jsfunction();
// or
echo(jsfunction());
// or
// Anything else?
다음 코드는 xyz.html (버튼 클릭시)에서 외부 xyz.js에서 wait ()를 호출하는 코드입니다. 이 wait ()는 wait.php를 호출합니다.
function wait()
{
xmlhttp=GetXmlHttpObject();
var url="wait.php"; \
xmlhttp.onreadystatechange=statechanged;
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
}
function statechanged()
{
if(xmlhttp.readyState==4) {
document.getElementById("txt").innerHTML=xmlhttp.responseText;
}
}
and wait.php
<?php echo "<script> loadxml(); </script>";
loadxml ()은 같은 방식으로 다른 PHP 파일의 코드를 호출합니다.
그렇지 않으면 loadxml ()이 제대로 작동하지만 원하는 방식으로 호출되지 않습니다.
해결법
-
==============================
1.
PHP에 관한 한 (또는 실제로 웹 서버 일반적으로) HTML 페이지는 큰 문자열보다 복잡합니다.
PHP와 같은 언어로 할 수있는 모든 멋진 작업 - 데이터베이스와 웹 서비스 및 모든 것을 읽는 것 - 궁극적 인 목표는 정확히 동일한 기본 원칙입니다. HTML 문자열 생성.
귀하의 큰 HTML 문자열은 웹 브라우저에 의해로드되기 전까지는 특별한 것이 아닙니다. 브라우저가 페이지를로드하면 레이아웃, 상자 모델, DOM 생성 및 JavaScript 실행을 비롯한 많은 다른 작업이 수행됩니다.
따라서 "PHP에서 JavaScript 호출"을하지 않으면 출력에 JavaScript 함수 호출을 포함시킵니다.
이 작업에는 여러 가지 방법이 있지만 여기에는 몇 가지 방법이 있습니다.
PHP 만 사용 :
echo '<script type="text/javascript">', 'jsfunction();', '</script>' ;
php 모드에서 직접 출력 모드로 탈출 :
<?php // some php stuff ?> <script type="text/javascript"> jsFunction(); </script>
함수 이름이나 그와 비슷한 것을 반환 할 필요는 없습니다. 우선, AJAX 요청을 손으로 쓰지 마라. 너 자신에 대해서만 열심히하고있어. jQuery 또는 다른 훌륭한 프레임 워크 중 하나를 사용할 수 있습니다.
둘째, AJAX 호출에서 응답을 받으면 이미 자바 스크립트 코드를 실행하려고한다는 것을 이해하십시오.
다음은 jQuery의 AJAX로 수행하고 있다고 생각하는 예제입니다.
$.get( 'wait.php', {}, function(returnedData) { document.getElementById("txt").innerHTML = returnedData; // Ok, here's where you can call another function someOtherFunctionYouWantToCall(); // But unless you really need to, you don't have do // We're already in the middle of a function execution // right here, so you might as well put your code here }, 'text' ); function someOtherFunctionYouWantToCall() { // stuff }
이제 PHP에서 AJAX 호출로 함수 이름을 보내면 죽을 수도 있습니다. 그렇게 할 수도 있습니다.
$.get( 'wait.php', {}, function(returnedData) { // Assumes returnedData has a javascript function name window[returnedData](); }, 'text' );
* 또는 JSON 또는 XML 등
-
==============================
2.
나는 항상 echo "
'PHP' 카테고리의 다른 글
참고 : MySQL 확장을 사용하는 완벽한 코드 샘플은 무엇입니까? [닫은] (0) | 2018.09.04 |
---|---|
jquery $ .ajax를 사용하여 PHP 함수 호출하기 (0) | 2018.09.04 |
PHP에서 데이터베이스 비밀번호를 보호하는 방법은 무엇입니까? (0) | 2018.09.04 |
PHP로 JSON POST 받기 (0) | 2018.09.04 |
사용자의 비밀번호를 안전하게 저장하려면 어떻게해야합니까? (0) | 2018.09.03 |