我有一个PHP会话变量,$_SESSION['user']在整个会话过程中仍然有效。在开头部分,我包含了我的JavaScript文件scripts.js。
$_SESSION['user']
scripts.js
如果需要以下内容,如何将会话变量传递到JavaScript文件中。
$.("#btn').click ( function() { alert('<?php echo $_SESSION['user']; ?>'); } )
由于<?php ?>无法在JavaScript文件中识别出,因此上面的代码不起作用。因此,我必须放入PHP文件本身,但是如何将其保留在JavaScript文件中?
<?php ?>
在您的PHP文件中,您可以将用户设置为全局变量:
<script type="text/javascript"> var ptamzzNamespace = { sessionUser : '<?php echo $_SESSION['user']; ?>' } </script>
在包含外部JavaScript代码之前,请先包含此内容。
然后在您的JavaScript文件中可以使用它:
$.("#btn').click ( function() { alert(ptamzzNamespace.sessionUser); } )
另外: 如果不确定会话变量本身是否可以包含引号,则可以使用addslashes()此方法来解决此问题:
addslashes()
<?php echo addslashes($_SESSION['user']); ?>即使这可能会产生您不想显示的内容(因为它会产生带有斜杠的字符串),也将有助于您的代码不会失败。(感谢Artefacto)
<?php echo addslashes($_SESSION['user']); ?>
这是您的选择吗?