Maison > développement back-end > Problème PHP > méthode d'appel php en js

méthode d'appel php en js

王林
Libérer: 2023-05-07 10:18:07
original
2145 Les gens l'ont consulté

En développement web, il est souvent nécessaire d'appeler des méthodes en JavaScript client côté serveur pour rendre la page plus flexible et dynamique. Cet article explique comment appeler des méthodes JavaScript dans le code PHP.

La première chose que vous devez comprendre est que PHP est un langage de script côté serveur qui s'exécute côté serveur et peut générer des pages dynamiques. JavaScript est un langage de script côté client qui s'exécute dans le navigateur et peut interagir avec et traiter les pages Web.

Dans une page Web, vous pouvez utiliser la balise "<script>" pour insérer du code JavaScript dans la page, afin que le code JavaScript s'exécute automatiquement lorsque le navigateur charge la page Web. Normalement, pour faciliter l'utilisation, le code JavaScript est écrit séparément dans un fichier .js, puis référencé dans la page HTML via "<script src="path"></script>".

Supposons maintenant que nous devions appeler une fonction JavaScript nommée "hello" dans le code PHP et lui passer le paramètre "world". Les opérations spécifiques sont les suivantes :

Étape 1 : Créer une fonction JavaScript

Dans notre fichier .js, vous pouvez définir une fonction JavaScript comme celle-ci :

fonction bonjour(nom){

console.log("Hello, " + name);
Copier après la connexion

}

La fonction ci-dessus peut recevoir un nom de paramètre et afficher un message d'accueil sur la console.

Étape 2 : Référencer le fichier .js dans la page HTML

Dans la page HTML, nous devons référencer le fichier .js ci-dessus. En supposant que notre fichier .js s'appelle "test.js", il peut être référencé comme ceci :

De cette façon, le test sera automatiquement exécuté lorsque la page est chargée. Le code dans le fichier js inclut également la fonction hello que nous avons définie.

Étape 3 : Écrire le code PHP

Maintenant que nous avons défini la fonction JavaScript dans la page, nous pouvons l'appeler dans le code PHP.

Tout d'abord, vous devez obtenir l'objet de contexte JavaScript dans le navigateur via le code PHP. Nous pouvons y parvenir grâce à un élément iframe caché dans la page HTML. Le code spécifique est le suivant :

Le code ci-dessus crée une iframe invisible lors de son chargement n'affectera pas la page. Ensuite, appelez la fonction suivante dans le code PHP pour obtenir l'objet de contexte JavaScript :

function getJSContext(){

$js = <<<EOT
    <script type="text/javascript">
        function getContext(){
            return window;
        }
    </script>
Copier après la connexion

EOT;

echo $js;
flush();
ob_flush();
$ctx = '<script type="text/javascript">getParent().getContext();</script>';
while (true){
    $ctx = '<script type="text/javascript">getParent().getContext();</script>';
    if ($ctx) break;
    usleep(500);
}
return $ctx;
Copier après la connexion

}

La fonction getJSContext ci-dessus créera un objet de contexte JavaScript contenant un Le code HTML bloc de la fonction et l'afficher sur la page. Ensuite, grâce à la communication entre la page parent et l'iframe, l'objet contextuel JavaScript est obtenu et renvoyé.

Ensuite, vous pouvez utiliser la fonction eval() de PHP pour appeler la fonction hello dans le contexte JavaScript et passer le paramètre "world". Le code spécifique est le suivant :

$ctx = getJSContext();
eval("$ctx.hello('world');");

Le code ci-dessus obtient d'abord l'objet de contexte JavaScript et l'appelle avec l'eval () fonction La fonction hello passe le paramètre "world". Ceci termine le processus d'appel des fonctions JavaScript en PHP.

Conclusion :

Avec la méthode ci-dessus, nous pouvons facilement appeler des fonctions JavaScript dans le code PHP et y transmettre des paramètres et d'autres opérations. Cependant, il convient de noter que lors de l'appel de fonctions JavaScript, vous devez vous assurer que la page a été chargée, sinon cela pourrait poser des problèmes. Dans le même temps, cette méthode s'applique uniquement au code JavaScript exécuté dans le navigateur et n'est pas applicable aux environnements tels que Node.js.

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