9

このjquery.cookieプラグインを使用しており、値をTRUEまたはNULL/FALSEに設定する必要があります。

私はこのようにしようとしています:$.cookie('ff', true, { expires: 30, path: '/' });しかし、それは値をブール値ではなく文字列に設定します。

これを修正する方法はありますか?

4

4 に答える 4

16

Cookieは文字列値のみです。gdoronがコメントしたように、値をブール値として扱いたい場合は、Cookie値が読み戻されたときに、値をブール値に解析して戻す必要があります。

PHPでCookie値を読み取っているとコメントしたので、PHPで文字列をブール値に解析するを参照してください。

于 2012-03-17T18:09:16.267 に答える
6

クライアント側:

$.cookie('ff', "true", { expires: 30, path: '/' });

サーバ側:

$cookie = $this->input->cookie() == "true";

編集:クッキーは文字列です。Cookieに保存されているものはすべて、文字列に変換する必要があります。したがって、読み取り側で文字列からブール値への変換を行う必要があります。上記にPHP(CodeIgniter)の例を示しました。

于 2012-03-17T18:11:04.443 に答える
1

Cookieを一種のフラグとして使用することを検討している場合は、Cookieが存在するかどうかを確認し、存在しない場合はfalseと見なすことができます。

const isSet = Boolean(cookie.get('my-cookie')) || false

このように、Cookieの実際の値や、Cookieが存在するかどうかだけを気にする必要はありません。

于 2018-02-14T18:52:58.103 に答える
0

これを行う別の方法は

var mycookie = !($.cookie("cookiename")=='false')

または:

if(!($.cookie("cookiename")=='false')){ 
    //mycode 
}

値が「false」の場合、($。cookie( "cookiename")=='false')はtrueを返すため、 を使用して反転します。falseを返します

値が「false」でない場合はfalseが返されるため、!を使用して値を反転します。falseを返します

于 2018-03-09T02:02:48.370 に答える