首先为我糟糕的英语道歉。
我使用Laravel和Backbone.js来创建一个简单的web应用程序。在我的服务器端,我有一个方法,其中sql查询是为获取随机数据而生成的。我需要存储这些数据,所以我使用静态成员变量(数组)。但是当我试图从另一个方法(名为ocijeni
的方法)访问该静态变量时,数组的值为空。
(服务器端逻辑通过Backbone.js异步访问)。
下面是我的代码:class TestController extends BaseController {
static private $odgovori = array();
public function pitanja() {
$pitanja = DB::select('select tocnoid,id,jedinstveno,pitanje,pomoc,odgovora,odgovorb,odgovorc from pitanja ORDER BY RAND() LIMIT 15');
foreach ($pitanja as $pitanje => $value) {
array_push(self::$odgovori, $value);
}
}
public function ocijeni() {
if (!Request::ajax()) {
App::abort();
} else {
print_r(self::$odgovori);
}
}
}
如果从不同的AJAX调用调用页面,则静态变量中的值将被重置。对该页的每次调用将处于相同的初始状态。
如果您希望跨AJAX调用保留数据,则需要查看会话或将数据存储到cookie中。