このjquery.cookieプラグインを使用しており、値をTRUEまたはNULL/FALSEに設定する必要があります。
私はこのようにしようとしています:$.cookie('ff', true, { expires: 30, path: '/' });
しかし、それは値をブール値ではなく文字列に設定します。
これを修正する方法はありますか?
このjquery.cookieプラグインを使用しており、値をTRUEまたはNULL/FALSEに設定する必要があります。
私はこのようにしようとしています:$.cookie('ff', true, { expires: 30, path: '/' });
しかし、それは値をブール値ではなく文字列に設定します。
これを修正する方法はありますか?
Cookieは文字列値のみです。gdoronがコメントしたように、値をブール値として扱いたい場合は、Cookie値が読み戻されたときに、値をブール値に解析して戻す必要があります。
PHPでCookie値を読み取っているとコメントしたので、PHPで文字列をブール値に解析するを参照してください。
クライアント側:
$.cookie('ff', "true", { expires: 30, path: '/' });
サーバ側:
$cookie = $this->input->cookie() == "true";
編集:クッキーは文字列です。Cookieに保存されているものはすべて、文字列に変換する必要があります。したがって、読み取り側で文字列からブール値への変換を行う必要があります。上記にPHP(CodeIgniter)の例を示しました。
Cookieを一種のフラグとして使用することを検討している場合は、Cookieが存在するかどうかを確認し、存在しない場合はfalseと見なすことができます。
const isSet = Boolean(cookie.get('my-cookie')) || false
このように、Cookieの実際の値や、Cookieが存在するかどうかだけを気にする必要はありません。
これを行う別の方法は
var mycookie = !($.cookie("cookiename")=='false')
または:
if(!($.cookie("cookiename")=='false')){
//mycode
}
値が「false」の場合、($。cookie( "cookiename")=='false')はtrueを返すため、 !を使用して反転します。falseを返します
値が「false」でない場合はfalseが返されるため、!を使用して値を反転します。falseを返します