当通过Apigee的response.header.Set-Cookie数组设置多个cookie,并使用Sun, 06 Nov 1994 08:49:37 GMT
格式的Expires属性(因为这是IE唯一可靠的选项)时,Apigee会将逗号视为某种cookie分隔符并有效地切割所有内容在逗号之后。但是,如果只有最后一个cookie附带Expires属性,它将起作用。
关于如何解决多个cookie的问题?
在做了一些研究之后,我遇到了不包含逗号的an alternate date format。它由ANSI C的asctime
格式生成。使用此日期格式设置expires属性时,它适用于多个cookie。
由于我在网上找不到任何asctime
JavaScript端口(这是Apigee可以轻松使用的),这里有一个我快速编译的:
function asctime(d) {
var weekdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
return weekdays[d.getDay()] +
" " + months[d.getMonth()] +
(d.getDate() < 10 ? " " : " ") + d.getDate() +
(d.getHours() < 10 ? " 0" : " ") + d.getHours() +
(d.getMinutes() < 10 ? ":0" : ":") + d.getMinutes() +
(d.getSeconds() < 10 ? ":0" : ":") + d.getSeconds() +
" " + d.getFullYear();
}