Heim >Web-Frontend >js-Tutorial >Wie rufe ich PHP-Funktionen aus JavaScript mit AJAX auf?
PHP-Funktionen aus JavaScript aufrufen
Bei der Arbeit mit PHP und JavaScript ist es notwendig, Daten zwischen den beiden Sprachen zu integrieren. In diesem Zusammenhang kann es erforderlich sein, PHP-Funktionen aus dem JavaScript-Code heraus aufzurufen.
Um dies zu erreichen, können Sie eine AJAX-Anfrage (Asynchronous JavaScript and XML) verwenden, um Daten von JavaScript an ein PHP-Skript zu senden. In Ihrem Fall möchten Sie PHP-Funktionen aus einer externen PHP-Datei aufrufen.
// 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);
Mit diesem Ansatz können Sie PHP-Funktionen dynamisch aus JavaScript heraus aufrufen. Die AJAX-Anfrage sendet den gewünschten Funktionsnamen und seine Argumente an das PHP-Skript, das dann die Funktion auswertet und das Ergebnis im JSON-Format zurückgibt.
Alternativer Ansatz
If Wenn diese Methode nicht akzeptabel ist, können Sie die Verwendung einer JSONP-Technik (JSON with Padding) in Betracht ziehen. Dazu müssen Sie in JavaScript eine Funktion mit einem eindeutigen Rückrufnamen erstellen und diese an das serverseitige Skript übergeben. Das PHP-Skript kann dann JSON-Daten zurückgeben, die in einen Funktionsaufruf mit dem angegebenen Rückrufnamen eingeschlossen sind:
echo $_GET['callback'] . '(' . json_encode($result) . ');';
Das obige ist der detaillierte Inhalt vonWie rufe ich PHP-Funktionen aus JavaScript mit AJAX auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!