我正在使用以下代码:
<script type="text/javascript">
<?php $ctnme = $_SERVER['REQUEST_URI'];
$cnme = explode("/",$ctnme);
echo $cname = $cnme[1];
?>
var spge = <?php echo $cname; ?> ;
alert(spge);
</script>
该值不会发出警报。什么是错误?
我正在使用以下代码:
<script type="text/javascript">
<?php $ctnme = $_SERVER['REQUEST_URI'];
$cnme = explode("/",$ctnme);
echo $cname = $cnme[1];
?>
var spge = <?php echo $cname; ?> ;
alert(spge);
</script>
该值不会发出警报。什么是错误?
本质上:
<?php
//somewhere set a value
$var = "a value";
?>
<script>
// then echo it into the js/html stream
// and assign to a js variable
spge = '<?php echo $var ;?>';
// then
alert(spge);
</script>
最安全的方法(就特殊字符和数据类型处理而言)是使用json_encode()
:
var spge = <?php echo json_encode($cname); ?>;
如果可能,请使用json_encode() (PHP 5.2+)。
看到这个(可能是重复的?):将 PHP 字符串传递给 JavaScript 变量(并转义换行符)
在 周围加上引号<?php echo $cname; ?>
以确保 Javascript 接受它作为字符串,也考虑转义。
**var spge = '';**
alert(spge);