Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

How can I get Javascript to read CGI-generated cookies

( #39159=categorized question: print w/ replies, xml ) Need Help??
Contributed by michellem on Oct 30, 2000 at 22:23 UTC
Q&A  > CGI programming


Description:

I've been using the standard method for setting cookies using perl/cgi:
$logincookie = $co->cookie ( -name=>'ST', -value=>'test', -expires=>'+30d' -path=>'/', -domain=>'www.strategictechnology.net', -secure=>0 ); print $co->header(-cookie=>$logincookie);
And I'm trying to read the cookie using javascript (via document.cookie), but although it is clear that the cookie is set (looking at the magic cookie file), a javascript function can't read it (document.cookie is empty). What am I doing wrong?

Answer: How can I get Javascript to read CGI-generated cookies
contributed by r34d0nl1

The standard mantra should work (as explained in perldoc CGI) when dealing with cookies.
Quoted from perldoc is an explanation to -path option:

"3. a path If you provide a cookie path attribute, the browser will check
it against your script's URL before returning the cookie.
For example, if you specify the path "/cgi-bin", then the cookie will be returned to each of
the scripts "/cgi-bin/tally.pl", "/cgi-bin/order.pl", and "/cgi-bin/customer_service/complain.pl",
but not to the script "/cgi-private/site_admin.pl". By default, path is set to "/", which causes
the cookie to be sent to any CGI script on your site."

I think that you first should try to read the values of your cookie to check if it can be read by another perl page. If it is Ok, then you should not worry about the cookie generation, but worry about your JavaScript code...

Answer: How can I get Javascript to read CGI-generated cookies
contributed by michellem

I think the problem is with the 'path' attribute. When I look at the cookie, the path appears as /cgi-bin/ which of course makes sense, but I'm not sure how to make sure that the path get's set as '/', even though I've specified it in the script. Should I set an absolute path?

Please (register and) log in if you wish to add an answer



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others perusing the Monastery: (4)
    As of 2014-09-21 01:30 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (165 votes), past polls