Toegang tot PHP-variabele in JavaScript

Mogelijk duplicaat:
Hoe toegang te krijgen tot PHP variabelen in JavaScript of jQuery in plaats van <?php echo $variable ?>

Is er een manier om toegang te krijgen tot een PHP-variabele in JavaScript?

Ik heb een variabele, $a, in PHP en wil de waarde ervan in een JavaScript-variabele.


Antwoord 1, autoriteit 100%

Dat kan niet, je moet iets doen als

<script type="text/javascript">
   var php_var = "<?php echo $php_var; ?>";
</script>

Je kunt het ook laden met AJAX

neushoorn heeft gelijk, het fragment mist kortheidshalve een type.

Houd er ook rekening mee dat als $php_varaanhalingstekens heeft, het je script zal breken. Je zult addlashes, htmlentities of een aangepaste functie gebruiken.


Antwoord 2, autoriteit 45%

metrobalderas heeft gedeeltelijk gelijk. Gedeeltelijk omdat de waarde van de PHP-variabele enkele speciale tekens kan bevatten, die metatekens zijn in JavaScript. Gebruik de onderstaande code om een dergelijk probleem te voorkomen:

<script type="text/javascript">
var something=<?php echo json_encode($a); ?>;
</script>

Antwoord 3, autoriteit 5%

Ik weet niet zeker hoe noodzakelijk dit is, en het voegt een aanroep toe aan getElementById, maar als je echt inline JavaScript uit je code wilt halen, kun je het doorgeven als een HTML-kenmerk, namelijk:

<span class="metadata" id="metadata-size-of-widget" title="<?php echo json_encode($size_of_widget) ?>"></span>

en vervolgens in uw JavaScript:

var size_of_widget = document.getElementById("metadata-size-of-widget").title;

Other episodes