我正在使用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有效?
答案 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