Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Cookie の保存

ユーザのブラウザに Cookie を送信する準備が整いました。

重要な作業は %response オブジェクトの SetCookie メソッドによって実行されます。これまで使用してきた %session オブジェクトや %request オブジェクトと同様、%response は Caché から自動的に提供されます。Caché は、実際のコンテンツではなく、ブラウザへのサーバの応答を制御します。

ここでは、Cookie に CacheCinemaLastCategory という名前を付けました。さらに、ユーザが注文した映画の FilmCategory オブジェクト ID を示す値、変数 Expires で指定された有効期限、およびこの Cookie をサイトの全 Web ページで使用できるようにする “/” パス情報を、この Cookie に指定します。

generated description: handson.gif

—TicketConfirm.OnPreHTTP—
TicketConfirm.OnPreHTTP
ClassMethod OnPreHTTP() As %Boolean
{
    If $data(%session.Data("Order")) {
        Set ord = ##class(Cinema.TicketOrder).%OpenId(%session.Data("Order"))
        Set itm = ord.Items.GetAt(1)
        Set cat = itm.Show.Film.Category.%Id()

        // Put a cookie on the users computer
        Set Expires = +$H + 7
        Set Expires = $ZD(Expires,11) _ ", " _ $ZD(Expires,2) _ " 00:00:00 GMT"
        Do %response.SetCookie("CacheCinemaLastCategory", cat, Expires, "/")
    }

    Quit 1
}
FeedbackOpens in a new tab