>웹 프론트엔드 >JS 튜토리얼 >AJAX를 사용하여 JavaScript에서 PHP 함수를 호출하는 방법은 무엇입니까?

AJAX를 사용하여 JavaScript에서 PHP 함수를 호출하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-15 16:54:03376검색

How to Call PHP Functions from JavaScript Using AJAX?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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