Javascript cookie не истекает - PullRequest
0 голосов
/ 03 марта 2019

Я создал cookie, используя javascript.В консоли Google Chrome (вкладка «Приложение») видно, что время истечения срока действия файлов cookie истекло, но в списке еще есть файл cookie:

var tempdate = new Date();
tempdate .setTime(tempdate.getTime() + (60 * 1000));
document.cookie = "lock=done; expires="+tempdate ;

Срок действия файлов cookie в списке: 2019-03-03T 17: 20: 38.000Z

и журнал консоли для отображения даты: 2019-03-03T 17: 25: 41,984Z

Когда я установилкуки, использующие ASP или PHP, они автоматически удаляются из этого списка, когда срок действия куки истекает.

Редактировать: Вот как я проверяю существование куки:

<a onclick="check()">Check Again</a>
<script>
function check(){
   $.ajax({
    url:"check.asp",
    success:function(data){
      console.log(data); //Prints "lock"
    }
   })
}
</script>

И это Check.asp:

response.clear
if request.cookies("lock")="done" then response.write "lock"
response.end

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Я нашел решение, используя toUTCString(), но я не знаю, почему время UTC должно влиять на файлы cookie (!):

Я тестирую на локальном хосте, а время моего компьютера - 2019-03-03 18: 45

var tempdate = new Date();
tempdate .setTime(tempdate.getTime() + (60 * 1000));
document.cookie = "lock=done; expires="+tempdate.toUTCString() ;

устанавливает: 2019-03-03T 15: 15: 07 .000Z как время истечения, и оно отлично работает, а истекает после1 минута .

var tempdate = new Date();
tempdate .setTime(tempdate.getTime() + (60 * 1000));
document.cookie = "lock=done; expires="+tempdate;

устанавливает 2019-03-03T 18: 45: 07 .000Z и не истекает через 1 минуту однако время моего компьютерапоказывает 18:45!

0 голосов
/ 03 марта 2019

У меня была проблема, похожая на вашу, я нашел решение здесь: https://www.w3schools.com/js/js_cookies.asp

Добавление "path = /;"(некоторые браузеры не удаляют куки, если путь не указан).Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...