php在模板中传变量给js

正确方式

var XXX = <?php echo json_encode($xx) ?>;

即便json_encode把中文转成了unicode编码,js接受变量时仍能恢复成中文。php

错误方式

var xxx = JSON.parse(<?php echo "'".json_encode($xx)."'" ?>);

对于带有转义字符的json字符串,好比{"a":"{\"b\":\"test\"}"}(a的值为一个json字符串),会报错。由于将字符串echo输出以后不会带上转义用的斜杠。web