在JavaScript中获取php变量
在JavaScript中获取php变量
我主要使用PHP编写代码,但有一个功能需要使用JavaScript。我需要在JavaScript中访问一个PHP变量。我已经将以下代码放置在
标签之间:$(document).ready(function(){
$(document).keyup(function(e) {
if ($('.pho_big').is(':visible') && e.keyCode==27) {
var js_link = '';
window.location.href = js_link;
}
});
});
简而言之,当按下esc键时,我想要跳转到$p_link。所以我试图将$p_link复制到js_link并跳转。但是浏览器尝试跳转到,显然是错误的。
我已经参考了这里,这里和这里的解答,它们似乎告诉我要做的就是我正在做的。我的JavaScript知识几乎为零,所以我可能忽略了一些简单的东西,但我不知道足够的知识来进行排查。
问题出现的原因是因为变量$p_link
在JavaScript中无法被正确解析。在设置window.location.href
为<?php echo $p_link; ?>
时,浏览器尝试转到[less_than]?php%20echo($p_link)%20?[greater_than]
,这是<?php echo $p_link; ?>
的URL编码形式。
解决方法是检查文件的扩展名,如果文件以.html或.js结尾,则PHP解释器无法解释其中的代码。可以通过在PHP文件中创建一个变量<script>window.Js_link="<?php echo $p_link; ?>";</script>
,在事件处理函数中使用window.location.href=window.js_link;
来解决这个问题。