我有一个Javascript文件main.js
,我需要在其中使用echo $_SESSION["username"]
,但它显然不起作用。有什么方法可以做到这一点/某种解决方法吗?
答案 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页面实例化你的类/函数(或者这个文件中的任何内容)。