如何在Apigee中设置多个带有expires-attribute的Cookie?

时间:2019-04-30 20:09:46

标签: javascript cookies apigee

通过Apigee的response.header.Set-Cookie数组设置多个Cookie并使用Sun, 06 Nov 1994 08:49:37 GMT格式的Expires属性(因为这是IE唯一可靠的选项)时,Apigee会将逗号视为某种形式Cookie分隔符,并有效地删除逗号后的所有内容。但是,如果只有最后一个cookie带有Expires属性,它将起作用。

关于如何解决多个Cookie的任何想法?

1 个答案:

答案 0 :(得分:0)

做完一些研究后,我发现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();
}