如何将PHP变量值赋给Javascript变量?

问题描述:

可能重复:
What's the best way to pass a PHP variable to Javascript?如何将PHP变量值赋给Javascript变量?

我使用下面的代码:

<script type="text/javascript"> 
<?php $ctnme = $_SERVER['REQUEST_URI']; 
$cnme = explode("/",$ctnme); 
echo $cname = $cnme[1]; 
?> 
var spge = <?php echo $cname; ?> ; 
alert(spge); 
</script> 

值不警惕。什么是错误?

+0

HTTP://os-code-web.blogspot。 com/2011/05/can-you-set-javascript-variable-value.html – 2011-07-10 03:37:26

本质:

<?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> 
+5

如果$ var包含单引号,回车符... – 2011-05-05 10:10:15

+1

我同意,但是我得到的印象是这个问题似乎自从我第一次回复说让这个回复看起来有很大变化之后,她现在多余。 IIRC这是一个关于如何传递一个var,现在是一个数组的全部原理的问题。 – Cups 2011-05-05 10:19:05

+0

http://os-code-web.blogspot.com/2011/05/can-you-set-javascript-variable-value.html – 2011-07-10 03:37:17

**var spge = '';** 
alert(spge); 

使用json_encode()如果可能的话(PHP 5.2+)。

见这一个(也许重复):在<?php echo $cname; ?>周围Pass a PHP string to a JavaScript variable (and escape newlines)

把双引号,以确保使用Javascript接受它作为一个字符串,也考虑逃逸。

最安全的方式(在特殊字符和数据类型的处理而言)采用json_encode()

var spge = <?php echo json_encode($cname); ?>;