Heim > Web-Frontend > js-Tutorial > Wie rufe ich PHP-Funktionen aus JavaScript mit AJAX auf?

Wie rufe ich PHP-Funktionen aus JavaScript mit AJAX auf?

DDD
Freigeben: 2024-11-15 16:54:03
Original
374 Leute haben es durchsucht

How to Call PHP Functions from JavaScript Using AJAX?

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; }
Nach dem Login kopieren
// 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);
        }
    }
});
Nach dem Login kopieren
// 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);
Nach dem Login kopieren

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) . ');';
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage