javascript - 在 .NET Core MVC 中访问 Cookie 时,它的值显示为 null
问题描述
编辑:已解决使用的库:这里是链接:https ://github.com/js-cookie/js-cookie
我的浏览器中有两个 cookie,值为 2 的“cartNumbers”。我可以在 .NET 中访问它们。
但是另一个具有价值的“productsInCart”cookie:
[{"slNo":"8","pName":"RAY BAN","pPrice":"8790.00","pQty":1,"image":"https://localhost:44314/Images/13bacad884054b62a37d6840a95b8bd9.jpg"},{"slNo":"21","pName":"GREY T-SHIRT","pPrice":"555.00","pQty":1,"image":"https://localhost:44314/Images/6d80b0a28b94472b959db3f69c65faba.jpg"}]
当我尝试访问 productInCart 时,我得到“null”。请帮忙。这就是我访问它们的方式
var ProductInCart = Request.Cookies["productsInCart"];
var CartNumber = Request.Cookies["cartNumbers"];
我已经在 javaScript 中创建了这些 cookie,我正在尝试在 .NET MVC 控制器中访问它们
我的 JavaScript 代码
function setCookie(name, value, exp_days) {
let d = new Date();
d.setTime(d.getTime() + exp_days * 24 * 60 * 60 * 1000); // calling setTime() method
let expires = "expires=" + d.toGMTString();
document.cookie = name + "=" + value + ";" + expires + ";path=/";
}
function getCookie(key) {
let keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;
}
$("#addtocart").click(function () {
const product = document.getElementById('product-name').innerText;
const price = document.getElementById('product-price').innerText;
const img = document.querySelector('#product-image').src;
let quantity = parseInt($('#quantity').find(":selected").text());
let pId = params.get('id');
let key = "productsInCart";
if (getCookie(key)) {
const data = JSON.parse(getCookie(key));
let curObj = { "slNo": pId, "pName": product, "pPrice": price, "pQty": quantity, "image": img };
addItemToCart(data, pId, quantity, curObj);
let value = JSON.stringify(data);
setCookie(key, value, 90);
}
else {
cartdata.push({ "slNo": pId, "pName": product, "pPrice": price, "pQty": quantity, "image": img });
let value = JSON.stringify(cartdata);
setCookie(key, value, 90);
}
toastr.success('product Sucessfully', 'Added', { timeOut: 2500 });
});
function addItemToCart(data, pId, quantity, curObj) {
for (let obj of data) {
if (obj.slNo === pId) {
obj.pQty = quantity;
return;
}
}
数据.push(curObj); }
解决方案
推荐阅读
- java - 如果我们对拓扑 jar 和 Storm 有不同版本的依赖项,那么当在服务器上启动拓扑时,Storm 将使用哪个版本的 jar
- flutter - 颤振快照为空
- opengl - 是否可以根据它所属的面将不同的法线发送到三角形条带顶点
- visual-studio - Visual Studio“切换行注释”未添加 // 到已注释掉的代码
- javascript - 在 JavaScript 中获取 Protobuf 消息的完全限定路径
- asp-classic - 经典 ASP:LDAP 查询和别名
- database - 什么是 p6spy?我在 db url 中得到这个
- java - Maven org.opentest4j.AssertionFailedError 即使值相同
- javascript - Webpack 开发服务器编译成功但重新加载或重建不起作用
- c# - 将新记录插入到记录MongoDB C#上的对象上的数组中