我正在尝试使用javascript打印动态数据库变量。我的代码很简单。我正在使用:
var name = "<? echo $listname; ?>";
var listName = 'ADD A MEMBER TO "' + name + '"';
我打印的是:添加一个会员到&#34;&#34; &LT; ! - ? echo $ listname; ? - &GT; (没有空间)。 我猜是因为某种原因&#34;&lt;&#34;字符是它的捷径。有没有办法绕过这个?我只是需要它来打印它而不用&lt; ! - - &gt;。
提前谢谢
答案 0 :(得分:1)
这通常只有在JavaScript代码位于.php
文件中时才有可能。您的服务器也可能还需要打开PHP标记<?php
。只有配置了<?
,您才能将short_open_tag
用作开放代码。有关详细信息,请参阅http://www.php.net/manual/en/ini.core.php#ini.short-open-tag。
以下是我在Windows 7中使用PHP 5.4.15运行此工作的简单示例:
// omg.php
<?php $listname = "win"; ?>
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Stuff</title>
</head>
<script>
var name = '<?php echo $listname ?>';
var listName = 'ADD A MEMBER TO "' + name + '"';
console.log(listName);
</script>
<body>
</body>
</html>
以上示例应在控制台中打印ADD A MEMBER TO "win"
。
答案 1 :(得分:0)
您在打开php标记时出现语法错误。一般来说,从ajax获取变量是更好的做法,但是可以使用这种方法,尽管它不是一个很好的实践。另外,不要在javascript代码中使用双引号。如初。
var name = '<?php echo json_encode($listname); ?>';
编辑:
可能你试图在一个尚未关闭的php语句中添加一个php标签。如果是这样,你需要使用连接运算符。