Comment transmettre des variables et des données PHP à JavaScript
P粉004287665
2023-08-21 12:31:08
<p>J'ai une variable en PHP et je dois utiliser sa valeur dans mon code JavaScript. Comment puis-je transmettre mes variables de PHP vers JavaScript ? </p>
<p>J'ai le code suivant : </p>
<pre class="brush:php;toolbar:false;"><?php
$val = $myService->getValue(); // Effectuer des appels d'API et de base de données
≪/pré>
<p>Sur la même page, j'ai du code JavaScript qui doit transmettre la valeur de la variable <code>$val</code>
<pre class="brush:js;toolbar:false;"><script>
myPlugin.start($val); // J'ai essayé ça mais ça n'a pas fonctionné
<?php myPlugin.start($val); ?> // Cela a également échoué
myPlugin.start(<?=$val?>); // Cela fonctionne parfois, mais échoue parfois
</script>
≪/pré>
<p><br /></p>
J'utilise généralement les attributs data-* en HTML.
Cet exemple utilise jQuery, mais il peut être adapté à d'autres bibliothèques ou à du JavaScript natif.
Vous pouvez en savoir plus sur la propriété dataset ici : https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset
Il existe en fait plusieurs façons de procéder. Certaines méthodes nécessitent plus de temps système et certaines sont considérées comme meilleures que d’autres.
Sans ordre particulier :
Dans cet article, nous détaillerons les avantages et les inconvénients de chacune des méthodes ci-dessus, et comment les mettre en œuvre.
1. Utilisez AJAX pour obtenir les données requises du serveur
Cette approche est considérée comme la meilleure car les scripts côté serveur et côté client sont complètement séparés.
Avantages
Inconvénients
Exemple de mise en œuvre
Avec AJAX, vous avez besoin de deux pages, une sur laquelle PHP génère la sortie et une autre sur laquelle JavaScript obtient cette sortie :
get-data.php
index.php (ou le nom de la page réelle)
La combinaison des deux fichiers ci-dessus apparaîtra une fois le chargement du fichier terminé
42
.Plus de matériel de lecture
2. Faites écho aux données à un certain emplacement de la page et utilisez JavaScript pour obtenir les informations du DOM
Cette approche est moins souhaitable que AJAX, mais elle a quand même ses avantages. D'une certaine manière, c'est encore relativement séparé entre PHP et JavaScript, puisque PHP n'est pas utilisé directement dans JavaScript.
Avantages
Inconvénients
<input type=hidden>
来存储信息,因为从inputNode.value
中获取信息更容易,但这样做意味着你的HTML中有一个无意义的元素。HTML有<meta>
元素用于文档的数据,HTML 5引入了data-*
pour les données liées à JavaScript sur un élément spécifique.Exemple de mise en œuvre
Dans ce cas, vous devez créer une sorte d'élément invisible pour l'utilisateur mais visible par JavaScript.
index.php
3. Faites écho aux données directement dans JavaScript
C'est probablement la méthode la plus simple à comprendre.
Avantages