我运行的网站存在问题,当Cookie被禁用时,用户无法继续完成预订流程。
我使用Jquery和cookie插件,当禁用cookie时,cookie似乎总是返回[object Object]。 检查这个的代码是:
alert($.cookie("sourceID")); //returns [object Object]
if($.cookie("sourceID") === null || $.cookie("sourceID")=== '[object Object]'){
sourceID = 27201;
}else{
sourceID = $.cookie("sourceID");
}
alert(sourceID); //returns [object Object]
如果用户没有启用cookie,则上面尝试设置默认的sourceID。然后将其与其他信息一起传递到另一个构建XML的函数,并将其传递给服务器进行处理;但是由于[object Object]问题传递时,服务器无法找到匹配的sourceid。
答案 0 :(得分:0)
我找到了解决此问题的方法,因为我试图从cookie中检索一个整数值,可以检查返回的cookie的值是否为数字。要做到这一点,我使用这个问题的答案:Validate decimal numbers in JavaScript - IsNumeric()并使用:
if(isNumeric($.cookie("sourceID"))){
sourceid = $.cookie("sourceID");
}else{
sourceid = 27201;
}
不是检查cookie是否返回有效值的最佳方法,但我建议将来遇到此问题的任何人验证他们知道cookie应包含的内容(int,特定字符串等)