Ambito PHP - > Modello di ambito Javascript?
-
05-07-2019 - |
Domanda
Qualcuno ha degli schemi chiari per ottenere php var nell'ambito js?
Due modi in cui l'ho già fatto in precedenza sono l'iniezione di una chiamata effettiva dal modello di base all'interno di un wrapper pronto per il documento.
(modello jQuery / Smarty)
{literal}
$(document).ready(function() {
TargetClass.targetVar = {/literal}{$phpVar}{literal};
});
{/literal}
Impostandolo anche su un tag e estraendolo dal DOM una volta eseguito JS.
HTML
<link id="phpVar" value="{$phpVar}" />
JS
var phpVar = $('#phpVar').attr('value');
.
Qualcuno di voi ha trovato un metodo migliore?
Soluzione
Puoi generare JSON molto facilmente da php. Questo è un bel modo per ottenere un intero array (o anche un albero di array nidificati) di dati in javascript in una sola volta.
Puoi inserirlo in un'intestazione < script >
o recuperarlo asincrono con ajax.
Ecco i documenti php:
http://us3.php.net/manual/en/ref .json.php
se inserisci json direttamente nel codice, allora è già in formato javascript. Se lo ricevi da una richiesta Ajax, sarà una stringa grande e puoi analizzarla semplicemente passandola a eval ()