为什么这不起作用
$(document).on('click', '.title', function(){
let fn = 'abc';
$.post('common.php', {fn}, function(data) {
console.log(data);
});
});
common.php
if (isset($_POST['fn'])) {$_POST['fn']();}
$cols = '323';
function abc() {
global $db; // this works (db connection);
global $cols;
echo $cols; // doesn't work result is empty
echo '323'; // this works
}
没有逻辑-有些全局变量有效(例如$db
连接),而有些无效。
有帮助吗?
答案 0 :(得分:1)
因为在第一行中调用函数
if (isset($_POST['fn'])) {$_POST['fn']();}
$cols
变量未定义。但是,如果在函数调用之前定义变量,它将可以正常工作。
$cols = '323';
if (isset($_POST['fn'])) {$_POST['fn']();}
function abc() {...
在demo中查看结果