var name = $("#name").val();
但我的问题是,如果我想转换例如这个变量:
$id = 182938; //the id of the user
到这个变量:
var id;
这个问题可能很愚蠢......对你来说可能很容易,但不适合我:p <?php
$number = rand();
?>
<script language="javascript">
var num = <?php echo $number ?>
</script>
它与传递值有相同的影响吗?
谢谢!
答案 0 :(得分:1)
不完全。编码为JSON将确保它是有效的JavaScript文字。
var num = <?php echo json_encode($number) ?>
答案 1 :(得分:0)
代码的作用是:
<?php
$number = rand(); //assign random number to $number. let's say it's "3"
?>
//then these are printed on the page normally
<script language="javascript">
var num = <?php echo $number ?> //the $number is echoed at this position
</script>
然后浏览器收到:
<script language="javascript">
var num = 3;
</script>
答案 2 :(得分:-1)
你必须生成语法上的VALID javascript。 PHP可以将文本回显到它生成的页面的任何部分,但这并不一定意味着它实际上是可用的文本。在您的情况下,您忘记了;
,因此生成的javascript实际上是语法错误:
var num = <?php echo $number ?>;
^--- missing
输出文字时会发生同样的事情。考虑将某人的姓名存储到变量中的位置:
<?php
$name = "Miles O'Brien"; // <-- note the single quote
?>
<script>
var name = <? php echo $name ?>;
</script>
这个 LOOKS 确定,但它实际上会产生另一个语法错误:
var name = Miles O'Brien;
整个字符串周围没有引号,嵌入的引号将在javascript中启动一个字符串,导致JS解释器抱怨未定义的变量“Miles”,未定义的变量“O”和未终止的字符串文字。 / p>
相反,PHP应该是:
var name = <? echo json_encode($name) ?>;
JSON封装可确保您嵌入语法上有效的Javascript值。