Cookie仅在不使用JSON.stringify时设置

时间:2015-05-15 18:59:39

标签: javascript jquery json cookies

我正在使用jQuery cookie创建Cookie,当我不使用JSON.stringify时会设置这些Cookie,如下所示:

$.cookie("previousObject", savedObjs);

但是在我使用JSON.stringify()时没有设置,如下所示:

$.cookie("previousStories", JSON.stringify(savedObjs));

我也尝试了以下内容:

$.cookie.json = true;
$.cookie("previousObject", savedObjs);

应该创建的cookie记录到控制台,但当我在浏览器中查看resources时,那里没有cookie。

如何使这些Cookie有效?

1 个答案:

答案 0 :(得分:1)

在将对象传递给public class OnSelfUpdate extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { /* Get the application(s) updated. */ final int uid = intent.getIntExtra(Intent.EXTRA_UID, 0); final PackageManager packageManager = context.getPackageManager(); final String[] packages = packageManager.getPackagesForUid(uid); if (packages != null) { final String thisPackage = context.getPackageName(); for (final String pkg : packages) { /* Check to see if this application was updated. */ if (pkg.equals(thisPackage)) { final Intent intent = new Intent(context, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); break; } } } } } 之前,您不需要显式地对其进行字符串化,因为后者无论如何都会自动为您执行此操作。

以下是编码您的值的代码部分:

$.cookie()

所以你的最后一段代码实际上是正确的:

function stringifyCookieValue(value) {
    return encode(config.json ? JSON.stringify(value) : String(value));
}

在Firefox中,您可以在Storage Inspector中找到您的Cookie:https://developer.mozilla.org/en-US/docs/Tools/Storage_Inspector#Cookies

Chrome会在参考资料中显示它们:https://developer.chrome.com/devtools/docs/resource-panel#cookies