Cookie文件不会传递到其他页面

时间:2018-08-20 09:40:01

标签: javascript jquery cookies

我的页面有问题。我正在尝试将JSON cookie传递到另一个页面,但是在提交并重定向到另一个页面之后,然后获取了cookie。该页面似乎没有从上一页获取Cookie。

我试图返回上一页并检查我的cookie是否被删除或替换,但是在检查cookie仍然存在之后。

我正在我的网站上使用此插件: https://github.com/js-cookie/js-cookie

这是我要发送的Cookie:

Cookies.set("make_enquiry_data", { 
                            "Full Name":                $('#FullName').val(), 
                            "Email Address":            $('#EmailAddress').val(), 
                            "State":                    $('#BillingState').val(),
                            "Country":                  $('#BillingCountry').val(),
                            "Mobile Number":            $('#Cellphone').val(),
                            "Post Code":                $('#BillingZip').val(),
                            "Enquiry":                  $('#CAT_Custom_387456').val(),
                            "Enquire Now As":           $('input[name=CAT_Custom_387457]').serializeArray(),
                            "Make/Model":               $('#CAT_Custom_387458').val(),
                            "Year":                     $('#CAT_Custom_387459').val(),
                            "Kms":                      $('#CAT_Custom_387460').val()
                        });

Cookies.set("test_variable", "test me!!!");

在下一页上,我正在使用以下代码查看Cookie:

Cookies.get();

但是不幸的是,我想要的cookie不在最新页面上。

2 个答案:

答案 0 :(得分:1)

Cookie只能存储文本,不能存储对象。您首先需要将对象编码为JSON(通过使用JSON.stringify()):

Cookies.set("make_enquiry_data", JSON.stringify({ 
  "Full Name":      $('#FullName').val(), 
  "Email Address":  $('#EmailAddress').val(), 
  "State":          $('#BillingState').val(),
  "Country":        $('#BillingCountry').val(),
  "Mobile Number":  $('#Cellphone').val(),
  "Post Code":      $('#BillingZip').val(),
  "Enquiry":        $('#CAT_Custom_387456').val(),
  "Enquire Now As": $('input[name=CAT_Custom_387457]').serializeArray(),
  "Make/Model":     $('#CAT_Custom_387458').val(),
  "Year":           $('#CAT_Custom_387459').val(),
  "Kms":            $('#CAT_Custom_387460').val()
}));

然后,为了在检索Cookie的值时找回对象,请使用JSON.parse()

JSON.parse( Cookies.get('make_enquiry_data') );

答案 1 :(得分:-2)

您可能想要使用类似的方法来获取特定的Cookie,

Cookies.get('thatcookie');