Javascript echos PHP命令,而不是PHP变量
Javascript echos PHP command, not PHP variable
jquery代码:
$('.up_IMG').click(function() {
if (notLoggedIn()) return false;
alert('Got to here');
});
函数(尝试#1):引号:
function notLoggedIn() {
alert('here');
logged_in = "<?php echo json_encode($logged_in); ?>";
alert('Logged in: ' + logged_in);
}
ORjson_encoded(尝试#2):
function notLoggedIn() {
alert('here');
logged_in = <?php echo json_encode($logged_in); ?>;
alert('Logged in: ' + logged_in);
}
当调用尝试#1 fn时,第一个代码块的警报显示:
第二个代码块什么也不做。
PHP变量确实存在,并且其值为零。
有什么想法吗?
如果您用"click"调用此代码,那么PHP异步帮助您已经太晚了
PHP在加载页面时运行,而不是在加载之后。这是个时间问题。PHP永远不能输出还不存在的东西,所以它总是空白的。
解决方案说明:
这个问题是由于对PHP和javascript之间关系的误解引起的。
一旦页面被呈现(也就是说,在jQuery的$(document).ready()
中),所有的PHP正则变量就不复存在了。存在PHP超变量(例如$_SESSION
,但不存在$logged_in
。
可能的解决方案:
-
将登录值存储在超级全局中:例如
$_SESSION['logged-in']
或 -
如果用户登录,请在javascript
$(document).ready()
中使用AJAX来查询PHP,并在AJAX函数的success:
函数中接收答案。
AJAX及其工作原理的简单解释
相关文章:
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 如何在php变量中嵌入JQuery代码
- 在javascript函数中使用php变量
- 将地理编码结果转换为php变量以发布到mysql数据库
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 从Javascript和Php变量创建Html模板文档
- 如何将php变量作为javascript中列表的元素
- 将PHP变量分配给PHP数组
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 在Javascript甜甜圈图的PHP变量中引用PHP变量
- 使用javascript访问php变量
- 在Javascript文件中获取PHP变量
- 如何为Javascript数组()的使用准备PHP变量
- 如何获取PHP变量数据并将其存储在JavaScript变量中
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 通过Javascript验证PHP变量
- 如何将Ajax数据值分配给PHP变量
- 如何在 bootsrap 完整日历中使用 PHP 变量
- 在javascript中调用PHP变量