Cookies могут хранить, но не удалять
Я работаю над упражнением, чтобы ознакомиться с настройкой и удалением файлов cookie. Естественно, я поставил его в фальшивой пекарне.
Я пытался следовать модели Hamper для файлов cookie и смог сохранить их на консоли. Но по какой-то причине каждый метод, который я пытался удалить их с локального сервера через Javascript, не удался. Я пробовал Cookies.expire(), Cookies.set((ключ, ноль)). Получить (ключ) и т. Д. Ни один из них, кажется, не работает, даже когда я перезагружаю сервер.
Для вашего удобства я прикрепил репозиторий Github ниже.
1 ответ
В confections2.js есть функция
document.getElementById('Order').on('click', function(){
Какой не правильный синтаксис. Вместо этого должно быть
document.getElementById('Order').onclick = function() {
var name = document.getElementById('consumer_name').value;
Cookies.set('consumer_name', name).get('consumer_name');
var chocolate = document.getElementById('chocolate').value;
Cookies.set('chocolate', chocolate).get('chocolate');
var sugar = document.getElementById('sugar').value;
Cookies.set('sugar', sugar).get('sugar');
var lemon = document.getElementById('lemon').value;
Cookies.set('lemon', lemon).get('lemon');
}
Затем измените в index.html
<input type="button" value="Reset" onclick="clearCookies();">
Затем измените функцию JavaScript - чтобы включить перезагрузку, а также имя функции. Кажется, что clear() не дает результатов:(
function clearCookies(){
Cookies.set('consumer_name', null);
Cookies.set('chocolate', 0);
Cookies.set('lemon',0);
Cookies.set('sugar',0);
location.reload();
};
Сбрасывает значения на ноль и 0. Но на самом деле он не удаляет куки. Вы можете изменить как это -
function clearCookies(){
// Cookies.set('consumer_name', null);
// Cookies.set('chocolate', 0);
// Cookies.set('lemon',0);
// Cookies.set('sugar',0);
delete_cookie('consumer_name');
delete_cookie('chocolate');
delete_cookie('lemon');
delete_cookie('sugar');
location.reload();
};
function delete_cookie(name) {
document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}