0

SiteController の index アクションのコードがあります

  static $cid;

  public function actionIndex() {
        if(Yii::app()->request->isAjaxRequest) {
        //return ajax data, includes this
                $data['redirectUrl'] = self::$cid;
       } 
       //code...
        self::$cid = 2;
        //code...
  }

問題は、$data['redirectUrl'] が常に null であることです。次のような変数をアナウンスする場合

static $cid = 2;

すべて正常に動作します。プロンプトを表示してください。何が問題なのですか。おそらく、明らかなものが見えないのでしょうか?

4

1 に答える 1

0

それはさすがに。。

静的変数がセッションか何かに格納されることを期待していますか?

1)変数を使用した後に変数に値を割り当てています。初期化されていない場合は、常に NULL 値が返されます。

2)次に使用されるのは、アクションに対して行われた次のリクエストであり、これはまったく新しいプロセスであるため、変数は再び空になります。

あなたが探している機能はセッションに値を保存する必要があると思いますので、次のリクエストのために保持されます:)

于 2013-05-20T08:08:30.523 に答える