Передача динамических данных в JavaScript - PullRequest
3 голосов
/ 02 августа 2010

Хорошей идеей не является жесткое кодирование всего, что может измениться в javascript. Например, я хочу, чтобы URL был сгенерирован php.

Я могу написать

echo "
<script ...>
    var anUrl = $urlFromPHP;
</script>";

и затем:

<script ...>
    // some code
    $.ajax({ url: anUrl ... });
</script>";

Есть ли лучший способ сделать это? Кто-нибудь знает, есть ли какой-нибудь встроенный механизм в фреймворке yii?

Ответы [ 2 ]

1 голос
/ 02 августа 2010

Мне лично нравится преобразование переменных php (массивов, ...) в объект javascript с помощью json_encode . Например, его легко использовать для сложных массивов.

<?php 
// From manual:
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);
?>
// results
{"a":1,"b":2,"c":3,"d":4,"e":5}
0 голосов
/ 02 августа 2010

Это очень хороший способ сделать это. Хотя вам, вероятно, понадобятся кавычки вокруг строки URL JavaScript:

var anUrl = '$urlFromPHP';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...