JavaScript에서 PHP 함수 호출
PHP와 JavaScript로 작업할 때는 두 언어 간의 데이터를 통합해야 합니다. 이러한 맥락에서 JavaScript 코드 내에서 PHP 함수를 호출해야 할 수도 있습니다.
이를 달성하려면 AJAX(비동기 JavaScript 및 XML) 요청을 활용하여 JavaScript에서 PHP 스크립트로 데이터를 보낼 수 있습니다. 귀하의 경우, 외부 PHP 파일에서 PHP 함수를 호출하려고 합니다.
// PHP Functions function add($a, $b) { return $a + $b; } function mult($a, $b) { return $a * $b; } function divide($a, $b) { return $a / $b; }
// JavaScript AJAX Request $.ajax({ type: "POST", url: "your_functions_address.php", dataType: "json", data: { functionname: "add", arguments: [1, 2] }, success: function (obj, textstatus) { if (!("error" in obj)) { // Assign returned result to a JavaScript variable yourVariable = obj.result; } else { // Handle error console.log(obj.error); } } });
// PHP Response Script (your_functions_address.php) header("Content-Type: application/json"); $aResult = []; if (!isset($_POST["functionname"])) { $aResult["error"] = "No function name provided!"; } if (!isset($_POST["arguments"])) { $aResult["error"] = "No arguments provided!"; } if (!isset($aResult["error"])) { switch($_POST['functionname']) { case "add": if (count($_POST['arguments']) < 2) { $aResult["error"] = "Not enough arguments!"; } else { $aResult["result"] = add(floatval($_POST['arguments'][0]), floatval($_POST['arguments'][1])); } break; default: $aResult["error"] = "Function '".$_POST['functionname']."' not found!"; } } echo json_encode($aResult);
이 접근 방식을 사용하면 JavaScript 내에서 PHP 함수를 동적으로 호출할 수 있습니다. AJAX 요청은 원하는 함수 이름과 해당 인수를 PHP 스크립트로 전송하고, PHP 스크립트는 함수를 평가하고 결과를 JSON 형식으로 반환합니다.
대체 접근 방식
이 방법이 허용되지 않으면 JSONP(JSON with Padding) 기술 사용을 고려해 볼 수 있습니다. 여기에는 고유한 콜백 이름을 사용하여 JavaScript로 함수를 생성하고 이를 서버측 스크립트에 전달하는 작업이 포함됩니다. 그런 다음 PHP 스크립트는 제공된 콜백 이름을 사용하여 함수 호출로 래핑된 JSON 데이터를 반환할 수 있습니다.
echo $_GET['callback'] . '(' . json_encode($result) . ');';
위 내용은 AJAX를 사용하여 JavaScript에서 PHP 함수를 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!