我有一个购物车,可以将所有购物车项目添加到cookie中,这样当用户去他的“购物车”结账时,这些项目会填充该页面...我有那个部分正在运行,但我有一个{当用户想要从购物车中删除似乎没有从cookie中删除该项目的项目时,请求{1}}。
我的Cookie字符串如下所示(例如,如果有两个项目已添加到购物车:from keras.applications import inception_v3
# Build the InceptionV3 network with our placeholder.
# The model will be loaded with pre-trained ImageNet weights.
model = inception_v3.InceptionV3(weights='imagenet',
include_top=False)
dream = model.input
,其中左侧是POST
,右侧是1=X Large&2=Small
< / p>
这是我的代码:
productId
正如您所看到的,我在不同的行打印输出,这是我在控制台中看到的内容:
MerchSize
答案 0 :(得分:1)
似乎我之前对可能重复的评论不正确。在进一步检查时,我注意到,当cookie已经存在时,值会更新,但是实际上不会从cookie本身中删除需要删除的值。
所以问题出现在以下代码中:
angular-toastr
当cookie已经存在时,它将被取消并且仅更新HttpCookie updatedCookie = Request.Cookies["CartCookie"];
if (updatedCookie == null)
{
// [omitted]
}
else
{
// update the cookie values
foreach (KeyValuePair<string, string> kvp in keyValuePairs)
{
System.Diagnostics.Debug.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
updatedCookie.Values[kvp.Key] = kvp.Value;
}
}
字典中的值。在早期的陈述中,您已经从字典中删除了一个值,但是字典没有绑定到cookie,这意味着您删除的密钥仍然存在于cookie中。
您需要确保Cookie值为空:
keyValuePairs
甚至更好,删除一个特定的密钥:
// Clear the cookie value entirely
cookie.Value = null;
后者似乎比我更好,因为它不需要你将值解析为字典并更新它们。
作为旁注,如果要更新cookie,则不需要删除cookie。只需发送更新的cookie及其新属性(值,时间等),客户端上的现有cookie就会更新。