我用ajax POST调用函数,然后尝试访问类中的对象,但由于某种原因,我在调用类函数后得到一个NULL
这是我的代码
include_once dirname(__FILE__).'/../db/_mysql.php';
include_once dirname(__FILE__).'/../class/door.php';
$db = new _mysql();
if (isset($_POST['door'])) {
if ($_POST['door'] == 'get-default') {
$doors = array();
for ($i = 0; $i < $_POST['amount']; $i++) {
array_push($doors, array(
'door-id' => $i,
'panel-colors' => 'valkoinen'
)
);
}
order_door::setDoors($doors);
}
if ($_POST['door'] == 'get-doors') {
print_r(order_door::getDoors());
$doors = order_door::getDoors();
if ((int) $_POST['total-count'] > count($doors)) {
echo $_POST['total-count'] . '>' . count($doors);
} else if ((int) $_POST['total-count'] < count($doors)) {
echo $_POST['total-count'] . '<' . count($doors);
}
}
}
class order_door {
private static $doors;
public static function getDoors() {
return self::$doors;
}
public static function setDoors($array) {
if (count($array) == 0) {
self::$doors = array();
} else {
self::$doors = $array;
print_r(self::getDoors());
}
}
}
在第二个ajax电话中,我试图访问上门 在POST get-doors print_r(order_door :: getDoors());没有打印任何东西。有什么想法吗?
答案 0 :(得分:0)
实际上这是必须发生的事情,
中没有任何数据private static $doors;
因此,您在一个ajax请求中设置它并在另一个请求中将其重置为默认值。
要解决此问题,您必须将此数据保存到SESSION,例如。