1

首先对我糟糕的英语感到抱歉。

我正在使用 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);
        }
    }
}
4

1 回答 1

3

如果您从不同的 AJAX 调用中调用您的页面,则静态变量中的值将被重置。对页面的每次调用都将处于相同的初始状态。

如果您想跨 AJAX 调用保留数据,您将需要查看会话或将数据存储到 cookie 中。

于 2013-05-28T20:31:07.407 回答