0

次のコマンドでCookieを作成したい:

  • 名前:drm
  • 値:drmStatus = Expected

この質問への回答からのコードを使用しています-JqueryCookieプラグイン-複数の値?クッキーを作成するには

 var obj = { drmStatus: 'Expected' }; 
 $.cookie('drm', $.param(obj), { path: '/', raw: true })

ただし、これによりCookieが生成されます

  • 名前:drm
  • 値:drmStatus%3DExpected

この理由は、https://github.com/carhartl/jquery-cookie/blob/master/jquery.cookie.jsからのこのスニペットです。

config.raw ? value : encodeURIComponent(value)

これは、構成オブジェクトの「raw」の値を使用して、値をエンコードするかどうかを決定します。オプションオブジェクトで渡された「raw」値の値を無視しているようです。

だから私の質問は、jquery.cookieを使用するときにオプションraw:trueを設定できますか?

4

1 に答える 1

2

問題はjquery.cookieではなく、$.paramスクリプトの一部にあると思います。このJSFiddleを参照してください。rawオプションが正しく設定されており、Cookieに目的の値が設定されています。

これは機能するはずです:

var obj = { drmStatus: 'Expected' }; 
$.cookie('drm', decodeURIComponent($.param(obj)), { path: '/', raw: true })

編集:私はあなたの新しいバージョンで動作するようにフィドルを更新しました。解決策は次のとおりです。

var obj = { drmStatus: 'Expected' }; 
$.cookie.raw = true;
$.cookie('drm', $.param(obj), { path: '/' });
于 2012-10-23T16:46:06.627 に答える