2016-08-01 2 views
0

Моей страницы HTML содержит интервал (с текстом), чьи onClick = "goDropShip();"Невозможно получить яваскрипт куки после удаления куки, прежде чем переадресовать

страница содержит скрипт, который содержит:

function goDropShip() { 

    var date = new Date(); 
    date.setTime(date.getTime()+(24*60*60*1000)); 
    document.cookie = "dropShip=true; expires="+date.toGMTString(); 
    window.location.href="http://www.domain.com"; 

} 

Я проверил, с "alert() ", что функция фактически выполняется. И тестирование файла cookie сразу после его удаления является успешным. Однако после перенаправления cookie кажется пустым.

www.domain.com-х index.html (который получает этот редирект) имеет скрипт со следующим:

if (document.cookie.indexOf("dropShip=true") >= 0 ) { 
    window.location = "http://www.domain.com/processDropShip"; 
} 

Однако, печенье кажется совершенно пустым после редиректа.

Я пытаюсь использовать .indexOf() только потому, что попытки получить файл cookie специально по имени также потерпели неудачу, поэтому я пытаюсь найти файл cookie во всем документе document.cookie.

Возможно, я просто не использую файлы cookie, или я не знаю, как это сделать.

Простите, что «dropShip» не имеет смысла в этом контексте, но мне приходится обманывать детали по соображениям безопасности. Но единственное, что я изменил, это имя файла cookie.

Как всегда, спасибо за любую помощь.

+1

Cookies являются специфическими для домена. Это тот же домен? – PHPglue

+0

Если домен, на котором вы устанавливаете cookie, не является 'http: // www.domain.com' (www. Делает другое, как http или https, должен быть тем же субдоменом и т. Д.), Тогда вы не будете способный читать cookie с другой стороны. Если, однако, вы используете тот же домен, тогда вы должны убедиться, что вы также указываете путь для существования файла cookie. например 'path = /' – Ultimater

+0

Ultimater, можете ли вы привести пример пути в коде? Thanks –

ответ

0

Если домен, в котором вы устанавливаете cookie и переадресовываетесь, является одним и тем же, вам просто нужно установить путь /, добавив файл cookie, чтобы он был доступен по всему домену.

document.cookie = "dropShip=true; path=/; expires="+date.toGMTString();

+1

Спасибо, Арджун. Это сделал трюк! –

Смежные вопросы