2010-11-23 14 views
1

中にExtJSのグリッド状態クッキーが表示されない:は、私は次のようにExtJSのグリッドを持つAJAX要求

//状態管理状態ID

stateful:true,  
stateId:'Vehicle-grid', 
を設定

Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); 

//を初期化

通常のHTTPリクエストでCookieを取得できました。 jQueryのAjaxリクエストを送信しようとしましたが、Cookieのサーバー側が表示されません。 私が見るのはjsessionidだけです。

私は何が欠けていますか?

私は必要に応じてコード全体を貼り付けることができますが、私はこのすべての仕組みについて根本的な欠如があるかどうかは不思議でした。

おかげで、 イアン

PS - 私はこのコード(Grailsのコントローラを)持っているバックエンドでは:私が唯一のJSESSIONIDが印刷されます

def allCookies = request.cookies; 
for (c in allCookies) { 
    println "\n"+c.name+"\n"; 
} 

答えて

0

私はそれを理解したように見えます。

グリッドの特定のイベントがトリガーされ、初期化されていない場合にのみCookieが設定されることを愚かには気付かず、通常のリクエストとajaxリクエストとは関係ありません。

とにかくお手伝いしてくれてありがとうMcStretch。

+0

問題はありません、私はあなたが解決策を見つけてうれしいです。質問を効果的に閉じられるように、あなたの解決策を受け入れたものとしてマークしてください。 – McStretch

0

jQueryではなく、ExtJSでajaxリクエストを送信したいとします。 jQueryは本質的にExtJSのステートフルな変数/オブジェクトについては考えていません(2つの異なるJavaScriptライブラリです)ので、クッキーは期待通りに処理されません。私はあなたが言及した通常のHTTPリクエストがExtJSによって処理されたと想定しています。それは予想されるクッキーの動作を見た理由です。ここで

はExtJSのでAJAXリクエストを起動する方法の例です:

// Basic request 
Ext.Ajax.request({ 
    url: 'foo.php', 
    success: someFn, 
    failure: otherFn, 
    headers: { 
     'my-header': 'foo' 
    }, 
    params: { foo: 'bar' } 
}); 

詳細情報はAPI Documentationで見つけることができます。

+0

あなたの応答に感謝しますが、私は通常のHTTPリクエストを意味していましたが、通常はフォームを送信し、AJAXではなくページを更新することを意味しました。だから、ExtJSを使ってAJAX呼び出しをするのか、jQueryを使うのかは、どうして重要なのかわかりません。クッキーを作成してクライアントシステムに保存する必要がありますか? – Ian

+0

ExtJSまたはhtmlでフォームを送信していますか? ExtJSのajaxリクエストを試してみましたか? – McStretch

+0

元々私はhtmlでフォームを送信していました。私はフォームAJAXを作りたかったので、jQueryを使い始めました。私はExtJSの使用を試みていません。今私がフォームを送信すると、私はクッキー名のために返されるJSESSIONIDです。 – Ian

関連する問題