Ahm*_*rid 21 javascript php jquery
如何从.js文件中的jQuery函数访问PHP会话变量?在这段代码中,我想从会话变量中获取"值"
$(function() {
$("#progressbar").progressbar({
value: 37
});
});
Run Code Online (Sandbox Code Playgroud)
Eri*_*rik 52
您可以通过PHP生成javascript文件.没有什么说javascript文件必须有.js扩展名.例如,在您的HTML中:
<script src='javascript.php'></script>
Run Code Online (Sandbox Code Playgroud)
然后你的脚本文件:
<?php header("Content-type: application/javascript"); ?>
$(function() {
$( "#progressbar" ).progressbar({
value: <?php echo $_SESSION['value'] ?>
});
// ... more javascript ...
Run Code Online (Sandbox Code Playgroud)
如果这个特定方法不是一个选项,你可以在你的javascript文件中放入一个AJAX请求,并将数据从服务器端脚本返回为JSON.
Kri*_*imo 11
我正在努力解决同样的问题,偶然发现了这个页面.我想出的另一个解决方案是:
在你的html中,将会话变量(我的在这里$_SESSION['origin']
)回显给你选择的任何元素:
<p id="sessionOrigin"><?=$_SESSION['origin'];?></p>
在你的js中,使用jQuery你可以像这样访问它:
$("#sessionOrigin").text();
编辑:甚至更好,把它隐藏起来input
<input type="hidden" name="theOrigin" value="<?=$_SESSION['origin'];?>"></input>
如果你想更清晰地分离PHP和JS(它使IDE中的语法高亮和检查更容易),那么你可以为你的代码创建jquery插件,然后将$ _SESSION ['param']作为变量传递.
所以在page.php中:
<script src="my_progress_bar.js"></script>
<script>
$(function () {
var percent = <?php echo $_SESSION['percent']; ?>;
$.my_progress_bar(percent);
});
</script>
Run Code Online (Sandbox Code Playgroud)
然后在my_progress_bar.js中:
(function ($) {
$.my_progress_bar = function(percent) {
$( "#progressbar" ).progressbar({
value: percent
});
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)