是否可以将$ _SESSION与Javascript文件一起使用?

时间:2015-06-11 10:59:26

标签: javascript php session

我有一个Javascript文件main.js,我需要在其中使用echo $_SESSION["username"],但它显然不起作用。有什么方法可以做到这一点/某种解决方法吗?

2 个答案:

答案 0 :(得分:2)

您无法在.js文件中执行PHP代码,但有办法解决它。您可以使用ajax调用来获取该变量(请查看this link以获取ajax提示。)

根据您希望存储的信息,您还可以让PHP将其回显到您的html页面中的特定元素,然后使用JS来查找该元素:

echo "<span id='usernameForJS' style='display: none;'>".$_SESSION['USERNAME']."</span>";

然后用JS抓住那些元素内部html:

var username = document.getElementById('usernameForJS').innerHTML;

我建议AJAX只是因为那样你的页面几乎不需要冗余的元素。显然,不要将第二种方法用于任何敏感的事情。

答案 1 :(得分:0)

我在css-tricks.com上看到了一个选项

https://css-tricks.com/snippets/htaccess/use-php-inside-javascript/

我从未尝试过,但评论员说它有效。

还有一个解释如何在评论中这样做: https://css-tricks.com/snippets/htaccess/use-php-inside-javascript/#comment-85757

但是不要忘记这是一个相当“hacky”的方法,你应该考虑打开那个javascript文件并从.php页面实例化你的类/函数(或者这个文件中的任何内容)。