>백엔드 개발 >PHP 문제 >JS에서 PHP 메소드를 호출하는 방법

JS에서 PHP 메소드를 호출하는 방법

WBOY
WBOY원래의
2023-05-22 20:54:072660검색

JavaScript와 PHP는 두 가지 다른 프로그래밍 언어입니다. 전자는 브라우저에서 실행되고 후자는 서버 측에서 실행됩니다. 두 언어는 서로 다른 환경에서 실행되지만 특정 방식으로 상호 작용할 수 있습니다. 이 기사에서는 JavaScript에서 PHP 메소드를 호출하는 방법을 소개합니다.

1. AJAX를 사용하여 JavaScript를 구현하여 PHP 메서드 호출

AJAX(Asynchronous JavaScript And XML)는 JavaScript 및 XML을 통해 전체 페이지를 새로 고치지 않고도 서버와 비동기적으로 통신할 수 있는 기술입니다. 이 기술은 JavaScript에서 PHP 메소드를 호출하는 데 사용할 수 있습니다.

구현은 다음과 같습니다.

  1. 먼저 XMLHttpRequest 개체를 만들어야 합니다
var xmlhttp = new XMLHttpRequest();
  1. 다음으로 PHP 서버에 데이터를 보내는 JavaScript 함수를 만들어야 합니다
function sendDataToPHP(data) { 
   xmlhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
         document.getElementById("result").innerHTML = this.responseText;
      }
   };
   xmlhttp.open("POST", "test.php", true);
   xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   xmlhttp.send(data);
}

이 함수는 매개 변수를 받습니다. 데이터는 서버로 보낼 데이터입니다. 함수 내부에는 서버가 데이터를 반환할 때를 처리하기 위해 먼저 콜백 함수가 생성됩니다. ReadyState 속성의 값이 4로 변경되면 서버 응답이 완료되었음을 의미합니다. HTTP 상태 코드가 200이면 OK를 의미합니다. 그런 다음 XMLHttpRequest 객체의 open() 메서드를 통해 PHP 서버와 통신하고, 마지막으로 send() 메서드를 사용하여 서버에 데이터를 보냅니다.

  1. PHP 서버는 먼저 JavaScript에서 보낸 데이터를 받은 다음 해당 함수를 실행하고 결과를 반환해야 합니다.
<?php
    function myFunction($param1, $param2) {
        //TODO
        return $result;
    }
    
    $request = file_get_contents('php://input');
    $data = json_decode($request);
    $result = call_user_func_array($data->functionName, $data->params);
    echo $result;
?>

이 코드 조각에는 JavaScript에서 호출해야 하는 함수 myFunction이 정의되어 있으며, call_user_func_array 메서드를 사용하여 함수에 데이터를 전달하고 실행합니다. 마지막으로 함수 반환 값이 브라우저에 출력됩니다.

2. Node.js를 사용하여 JavaScript에서 PHP 메서드 호출

Node.js는 Chrome V8 엔진을 기반으로 하는 JavaScript 실행 환경으로 JavaScript에서 PHP 메서드를 호출하는 데 사용할 수 있는 매우 강력한 서버 측 프레임워크입니다. .

구현은 다음과 같습니다.

  1. 먼저 프로젝트에 PHP 플러그인을 설치해야 합니다
npm install php
  1. PHP 함수 호출을 위한 JavaScript 파일을 만듭니다
var php = require('php');
var result = php.myFunction('param1', 'param2');
console.log(result);

이 코드 조각에서 require를 사용합니다. php 모듈을 소개하는 메소드 JavaScript 환경으로 이동하여 php.myFunction 메소드를 사용하여 PHP 함수를 호출하십시오. 마지막으로 함수 반환 값을 콘솔에 인쇄합니다.

  1. PHP 서버는 JavaScript에서 호출해야 하는 함수를 내보내야 하며, 이는 $GLOBAL 개체를 사용하여 수행할 수 있습니다.
<?php
    $GLOBAL['myFunction'] = function($param1, $param2) {
        //TODO
        return $result;
    };
?>

이 코드 조각에서 $GLOBAL 개체를 사용하면 PHP 함수를 전역 함수로 사용할 수 있습니다. 따라서 함수 이름을 통해 JavaScript에서 PHP 함수를 호출할 수 있습니다.

요약:

위는 AJAX에서 PHP 메소드를 호출하는 두 가지 방법이며 PHP 모듈은 매우 편리합니다. 위의 기술을 사용하면 JavaScript에서 PHP 함수를 쉽게 호출하고 반환 값을 얻을 수 있습니다.

위 내용은 JS에서 PHP 메소드를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.