繁体   English   中英

如何从JavaScript访问PHP变量?

[英]How do I access my PHP variable from JavaScript?

  • 带有星号的线表示由于我不了解HTML,JavaScript和PHP如何交互而可能出现问题的地方

情况如下:

我正在创建一个使用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';

但是当我运行游戏并单击多人游戏模式时,而不是显示字符串“简单字符串”,而是显示字符串“ php echo $ simple;”。 会显示(与所有其他字符一起,Stack Overflow不会让我放在那里)。 JavaScript正在将PHP代码识别为字符串,而不是代码行。

怎么了

如果您想亲自看看,这是我的游戏的链接。 只需点击屏幕下方的“多人游戏模式”按钮即可。

http://alterearth.net

因此,您要将php代码添加到.js文件中?

如果是这样,那么除非<?php ?>在.php文件中,否则服务器将无法识别标签。 除非您更改服务器设置。

您可以使PHP代码在其中包含变量的情况下回显Javascript代码。

例:

echo "<script> var x = $variable; </script>";

您无法将php嵌入javascript文件,因为javascript文件将由不了解php的浏览器解释 相反,您应该将javascript放在php文件中。 例如

回声“ <script> userinfo ='xxxxxxxxx'</ script>”;

那么您可以使用javascript获取userinfo对象。 您可以执行此操作,因为php文件将生成将由浏览器解释的html。

Drupal提供了一个简单的API,可将PHP变量移植到JS,如果您希望此功能更加分层和灵活,请查看drupal_add_js

我看到三个可能的答案:

1)您可以设置PHP,以便它关注.js文件,就像这个人所说的那样: http : //www.geekhelpguide.com/php/handle-images-css-js-php-httpd-conf-使用-htaccess /

要么

2)在您的.php文件中创建一个隐藏变量,如下所示: <input id="myvariable" type="hidden" value="<?php echo $simple;?>"> ,然后使用javascript引用您的隐藏变量,像这样(如果您使用jquery): $("#myvariable").val();

要么

3)像其他已给出答案的人所建议的那样,将您的javascript嵌入.php文件中。

希望对您有所帮助。 如果有,请标记为答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM