views:

67

answers:

2

It is good idea not to hardcode anything that may change in javascript. For example I want to have url generated by php.

I may write

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

and then:

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

Is there any better way to do it? Does anybody know if there is any built-in mechanism in yii framework?

A: 

That's a perfectly good way to do it. Although you'll probably need quotes around the javascript url string:

var anUrl = '$urlFromPHP';
Scott Saunders
+1  A: 

I personally like the conversion between php variables (arrays,...) to javascript object by json_encode. It is easy to use for complex arrays for example.

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