Javascript cookie не установлен [дубликат]

Говорят, что ваш list является List объектов, не указанных. Это значит, что Java не знает, какие объекты находятся внутри списка. Затем, когда вы хотите итерировать список, вы должны использовать каждый элемент, чтобы иметь доступ к свойствам этого элемента (в данном случае, String).

В общем, это лучшая идея параметризации коллекции , поэтому у вас нет проблем с преобразованием, вы сможете добавлять элементы параметризованного типа, и ваш редактор предложит вам подходящие методы.

private static List<String> list = new ArrayList<String>();
13
задан informatik01 1 January 2014 в 21:47
поделиться

5 ответов

Кажется, что он работает для меня:

enter image description here [/g1]

http://jsfiddle.net/rQEnF/3/

По крайней мере, cookie появляется в инструментах dev, как вы можете видеть. Однако я заменил селектор jQuery $('#orderdetailid').val() на постоянное значение, как вы можете видеть. Что-то не так с этим значением или элементом, содержащим значение, возможно?

0
ответ дан alexander.biskop 21 August 2018 в 04:35
поделиться
  • 1
    Подтвердил, что это отлично работает для меня в Chrome 25. Даже когда я оставляю $('#orderdetailid').val() так, чтобы он был undefined, он все еще работает. – Chad 13 March 2013 в 15:07
  • 2
    Хм, это странно, тогда как куки доступны в Chrome? Когда я перехожу к «Консоль», - последний вариант слева (не ресурсы), затем, когда я набираю document.cookie, cookie не существует. Я сделал то же самое со скрипкой, с которой вы меня связали, но пока она находится под Cookies > fiddle.jshell.net, ее нет в document.cookie. Попробуйте ввести это в консоли: alert(document.cookie); – user961627 13 March 2013 в 15:16
  • 3
    Это, вероятно, проблема с несколькими сайтами. В примере JSFiddle скрипт, устанавливающий cookie, загружается из файла fiddle.jsshell.net. Следовательно, cookie также устанавливается для этого домена. При вводе файла document.cookie в консоль dev вы увидите только файлы cookie для домена jsfiddle.net. Могла ли это также проблема с вашим сценарием? То есть домен скрипта, который создает cookie, и домен, который он должен использовать / читать, должен быть одинаковым. – alexander.biskop 13 March 2013 в 15:24
  • 4
    Когда вы выполняете document.cookies, он показывает файлы cookie для домена, на котором вы находитесь, jsfiddle.net, код, который вы пишете на скрипте, запускается в iframe, размещенном на fiddle.jshell.net, поэтому он не будет отображаться в document.cookie. Посмотрите на ресурсы в нужном месте, и вы увидите, что он работает нормально. – Chad 13 March 2013 в 16:32
0
ответ дан Dean 21 August 2018 в 04:35
поделиться

Chrome не хранит файлы cookie со страниц, загружаемых из локальной файловой системы. Например, если вы просматриваете HTML-файл в браузере Chrome из локальной файловой системы (например: файл: /// C: /Users/deepak.r/Desktop/test.html), файлы cookie не поддерживаются.

0
ответ дан Deepak Ranganathan 21 August 2018 в 04:35
поделиться
  • 1
    Вы должны уточнить, это очень слабый ответ. – Dov Benyomin Sohacheski 3 September 2017 в 07:28

Эта проблема может возникнуть, если вы откроете свой код как file:///C:/.../xxx.html вместо http:// localhost/xxx.html. Хром не сохраняет файлы cookie (поскольку в file:// не существует домена и нет http-связи).

Несколько интересных ссылок:

42
ответ дан Roman Hocke 21 August 2018 в 04:35
поделиться
  • 1
    Почему только Chrome требует, чтобы вы сохраняли файлы cookie с доменом и http-связью, когда IE и Edge этого не делают. – ds_secret 22 February 2018 в 02:30
  • 2
    @ds_secret: я тестировал это в IE8, и он вел себя так же, как Chrome сделал - on & quot; file: // & quot; он сделал not сохранение файлов cookie, в то время как на "http: // & quot; он сделал. С другой стороны, у FF есть некоторое обходное решение для этого, оно сохраняет файлы cookie даже в файле: // & quot ;. – Roman Hocke 22 February 2018 в 09:25
  • 3
    Есть ли обходной путь для этого, так как большинство моих «клиентов» использовать Chrome, а не Edge, IE или Firefox? – ds_secret 23 February 2018 в 02:22

Попробуйте заменить эту строку:

document.cookie = "c_odi" + "=" + $('#orderdetailid').val() + expires + "; path=/";

с этим:

document.cookie = "c_odi" + "=" + escape($('#orderdetailid').val()) + expires + "; path=/";

При попытке прочитать значение вам придется использовать unescape, но вы когда придет время:)

0
ответ дан sbgoran 21 August 2018 в 04:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: