âmbito PHP -> Javascript padrão de escopo?
-
05-07-2019 - |
Pergunta
Alguém tem alguma padrões limpas para obter php vars no âmbito js?
Duas maneiras eu tenho feito isso antes ou é injetá-lo com uma chamada real do modelo de base dentro de um invólucro prontos documento.
(jQuery / Modelo de Smarty)
{literal}
$(document).ready(function() {
TargetClass.targetVar = {/literal}{$phpVar}{literal};
});
{/literal}
Também defini-lo como um tag e puxando que a partir do DOM uma vez que os executa JS.
HTML
<link id="phpVar" value="{$phpVar}" />
JS
var phpVar = $('#phpVar').attr('value');
.
Algum de vocês descobriram um método melhor?
Solução
Você pode gerar JSON muito facilmente de php. Esta é uma boa maneira de obter uma matriz inteira (ou até mesmo uma árvore de matrizes aninhadas) de dados para javascript de uma vez.
Você pode colocá-lo em um cabeçalho <script>
, ou buscá-la assíncrona com o Ajax.
Eis os docs PHP:
http://us3.php.net/manual/en/ref .json.php
Se você colocar o JSON diretamente no código, então ele já está em formato javascript. Se você recuperá-lo a partir de uma solicitação ajax, vai ser uma grande string, e você pode analisá-lo, basta passá-lo para eval ()