Si je charge une page PHP avec jQuery .charger (fichier.php), le fichier fourni peut-il utiliser les variables PHP définies sur la page qui appelait la charge ()? P>
6 Réponses :
Variables Portée dans le script Mais vous pouvez définir des variables globales ou utiliser des variables super globales comme ( php code> chargé par
JavaScript code> est différent de la page chargée du script
php code>, de sorte que la réponse est donc non. p>
$ _ obtenir code>,
$ _ post code>, etc.) pour obtenir ce que vous voulez. P>
Vous pouvez définir les variables passées par JavaScript dans la page en utilisant de manière dynamique PHP.
@Watermarkstudios Variables passées par JavaScript code> est différente de ce que OP demande:
Si le fichier fourni peut utiliser les variables PHP définies sur la page qui a appelé la charge () code>.
Vous pouvez les utiliser exactement comment le kocheran tk décrit (bien que JSON_ENCODE () soit fortement recommandé). Vous avez raison que JavaScript ne puisse accéder directement à des variables PHP en raison de la séquence de chargement dans le cycle de réponse, mais d'ajouter une ligne de php pour définir une variable JavaScript avec la même valeur que la variable PHP n'est pas inouïe, ni Est-ce une mauvaise pratique à moins que les valeurs des variables PHP soient sensibles. L'utilisation de variables de session serait probablement la meilleure si des données sensibles sont un problème.
Non, vous devez transmettre les variables que vous souhaitez utiliser sur votre fichier et ensuite vous pouvez obtenir ceux de votre fichier.php : p> S'il y a beaucoup de variables, utilisez la méthode postale: p> puis obtenir les variables dans fichier.php: p> fichier.php code>:
Cela fonctionne aussi ... Je ne voudrais pas remplacer le 'fichier.php? Var1 = xyz & var2 = xyz & var3 = xyz' code> avec
'file.php? Var1 = {$ xyz} & var2 = {$ xyz} & var3 = {$ xyz} ' code> si vous utilisez des variables remplacées à partir du fichier PHP actuel. Encore une fois, toute la ligne devrait être échoée à partir de balises PHP.
J'apprécie beaucoup mieux cette méthode puisqu'il utilise la fonction de chargement de chargement code> code>.
Vous devrez transmettre ces variables au fichier PHP chargé via la fonction. chargée de la fonction.
Exemple: p> Les variables définies dans le fichier PHP actuel seraient Faites partie du JavaScript qui charge le nouveau fichier PHP. P> p>
Bien sûr, cette ligne devrait être résolue à partir de balises PHP.
Oui, utilisez le paramètre de données, voir http://api.jquerer.com/load/:
$_POST['key1'] $_POST['key2']
Il s'agit d'une solution propre, mais gardez à l'esprit que si vous souhaitez utiliser des variables définies dans le fichier PHP actuel, vous devez échanger les valeurs avec les variables PHP résonnées à partir de balises PHP.
Vous êtes mal compris que les choses fonctionnent.
Si vous souhaitez transférer certaines variables de PHP à JavaScript, vous pouvez déménager une sortie dans JSON A> Dans votre script PHP, comme: P> $.getJSON("test.php", function(result) {
console.log(result[0].myVariable);
});
J'aime votre explication claire de pourquoi i> Cela ne fonctionnera pas et c'est Wny j'ai suscité la réponse. Mais votre conseil pour générer JSON avec des déclarations code> echao code> est effrayante; C'est pourquoi JSON_ENCODE () existe.
Droite, mes excuses. J'essayais juste de rendre assez facile à comprendre. Cela fait longtemps que j'ai utilisé PHP, et je n'ai pas eu dans le passé de sérialiser Json à partir de PHP, alors mon mauvais.
À peu près sûr, je connais la réponse, mais un appel associatif fonctionne aussi avec cela, non? console.log (résultat ['myvariable']); code>?
Pourquoi y a-t-il deux matrices et je voudrais juste séparer plusieurs variables avec une virgule?
Le deuxième argument (paramètres) de la fonction de chargement de JQuery doit être un objet ou une fonction de rappel, mais pourrait également être une chaîne vide. Selon cela, la charge envoie des postes ou obtenez des demandes.
J'avais l'idée de basculer automatiquement entre Get and Post, (par exemple, si le jeu de cookies), car obtenir est plus rapide et que la cache est plus rapide, et la poste est plus sauvegarde. P>
C'est pire pour écrire la fonction de charge, y compris le contenu à l'intérieur de la fonction de rappel deux fois plus que pour écrire quelque chose comme celui-ci: p>
//get var url="cache_dir/my_bag.html"; var params=""; if(document.cookie){ //post url="post.php"; params="{my:bag}"; } $(selector).load(url,params,function(){ ... });
Hi @ user1091856 - Bienvenue. C'est une bonne pratique d'accepter une réponse si cela fonctionne pour vous (pas seulement cette question, mais une quatre de vos questions précédentes). Tchin Tchin!