Maison > interface Web > js tutoriel > le corps du texte

Comment appeler des fonctions PHP à partir de JavaScript en utilisant AJAX ?

DDD
Libérer: 2024-11-15 16:54:03
original
311 Les gens l'ont consulté

How to Call PHP Functions from JavaScript Using AJAX?

Appel de fonctions PHP depuis JavaScript

Lorsque vous travaillez avec PHP et JavaScript, il devient nécessaire d'intégrer des données entre les deux langages. Dans ce contexte, vous pouvez rencontrer le besoin d'appeler des fonctions PHP depuis le code JavaScript.

Pour y parvenir, vous pouvez utiliser une requête AJAX (Asynchronous JavaScript and XML) pour envoyer des données de JavaScript vers un script PHP. Dans votre cas, vous souhaitez appeler des fonctions PHP à partir d'un fichier PHP externe.

// PHP Functions
function add($a, $b) { return $a + $b; }
function mult($a, $b) { return $a * $b; }
function divide($a, $b) { return $a / $b; }
Copier après la connexion
// 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);
        }
    }
});
Copier après la connexion
// 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);
Copier après la connexion

Cette approche vous permet d'appeler dynamiquement des fonctions PHP depuis JavaScript. La requête AJAX envoie le nom de la fonction souhaitée et ses arguments au script PHP, qui évalue ensuite la fonction et renvoie le résultat au format JSON.

Approche alternative

Si cette méthode n'est pas acceptable, vous pouvez envisager d'utiliser une technique JSONP (JSON with Padding). Cela implique de créer une fonction en JavaScript avec un nom de rappel unique et de la transmettre au script côté serveur. Le script PHP peut ensuite renvoyer des données JSON enveloppées dans un appel de fonction avec le nom de rappel fourni :

echo $_GET['callback'] . '(' . json_encode($result) . ');';
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal