情况如下:
我正在创建一个使用JavaScript的游戏,我正在尝试使用PHP从数据库访问玩家信息(玩家的名字)。为了帮助我调试我目前没有尝试访问数据库。现在我只是在PHP文件中放置一个变量来表示我将来尝试访问的信息,一个字符串,这是玩家的名字。访问HTML文件,JavaScript文件和PHP文件如下:
*文件全部保存在同一目录中的GoDaddy托管中,文件名为:
的index.html
milktruck.js
xml_http_request.php
用户访问网站,该网站使用以下代码行访问JavaScript文件:
<script type="text/javascript" src="milktruck.js"></script>
游戏开始并向用户呈现游戏界面。此时,用户尚未指定进入多人模式,因此访问PHP变量并显示它的JavaScript代码行未触发。
*我的JavaScript文件或HTML文件中没有任何地方可以引用我的PHP文件,例如HTML文件中对JavaScript文件的引用。我是否需要参考PHP文件?使用xml_http_request.php
会有什么不同吗?
我尝试在JavaScript文件中添加以下代码行:
var simple = '<?php echo $simple; ?>';
以及我的PHP文件中的以下内容:
$simple = 'simple string';
但是当我运行游戏并点击多人游戏模式而不是字符串'simple string'时,显示字符串“php echo $ simple;”显示(包含所有其他字符,Stack Overflow不会让我把它放在那里)。 JavaScript认为PHP代码是一个字符串,而不是一行代码。
这里有什么问题?
如果你想亲眼看看,这里有我游戏的链接。只需点击屏幕下方的“多人游戏模式”按钮即可。
答案 0 :(得分:2)
所以你要将php代码添加到.js文件中?
如果是这样,那么除非<?php ?>
在.php文件中,否则服务器将无法识别该标记。这是除非您更改服务器设置。
答案 1 :(得分:1)
您可以使PHP代码使用其中的变量回显Javascript代码。
示例:
echo "<script> var x = $variable; </script>";
答案 2 :(得分:0)
你不能在javascript文件中嵌入php,因为javascript文件将由浏览器解释,它不知道任何关于php的信息。相反,你应该把JavaScript放在PHP文件中。 e.g。
echo“&lt; script&gt; userinfo ='xxxxxxxxx'&lt; / script&gt;”;
然后你可以在javascript中获取userinfo对象。你可以这样做因为php文件会生成将被浏览器解释的html。
答案 3 :(得分:0)
Drupal为端口 PHP变量提供了一个简单的API,如果您希望此功能更加分层和灵活,请查看drupal_add_js
。
答案 4 :(得分:0)
我看到三个可能的答案:
1)你可以设置PHP以便注意.js文件,就像这个人谈到:http://www.geekhelpguide.com/php/handle-images-css-js-php-httpd-conf-using-htaccess/
或
2)在.php文件中创建一个隐藏变量,如下所示:<input id="myvariable" type="hidden" value="<?php echo $simple;?>">
然后使用javascript引用隐藏变量,如下所示(如果使用jquery):$("#myvariable").val();
或
3)将你的javascript嵌入你的.php文件中,就像其他一些已经给出答案的人一样。
我希望有所帮助。如果有,请标记为答案。