2010-08-02 80 views
3

最好不要硬编码任何可能在javascript中改变的内容。例如,我想要通过php生成url。将动态数据传递给javascript

我可以写

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

然后:

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

有没有更好的办法做到这一点?有人知道在yii框架中是否有任何内置机制?

回答

0

这是一个完美的方法来做到这一点。虽然你可能需要围绕JavaScript的URL字符串引号:

var anUrl = '$urlFromPHP'; 
1

我个人比较喜欢的JavaScript对象由json_encode PHP变量(数组,...)之间的转换。例如,对于复杂的数组很容易使用。

<?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}