首先抱歉我的英语不好。
我正在使用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);
}
}
}
答案 0 :(得分:2)
如果从不同的AJAX调用调用页面,则将重置静态变量中的值。每次调用页面都将处于相同的初始状态。
如果要在AJAX调用中保留数据,您需要查看会话或将数据存储到cookie中。