繁体   English   中英

无法在 JavaScript 文件中获取在 PHP 中制作的 cookie

[英]Cannot get cookie made in PHP in JavaScript file

我试图获取用户在 php 文件的输入框中输入的用户名作为 cookie,然后在 JS 文件中读取该 cookie 并获取用户名。

PHP

<?php
...
   print('<form method="POST" name="loginForm" action="myDomain.com">' . "\n");
   print('              <div class="loginContainer">' . "\n");
   print('                              <label for="userNameBox"><b>Account Login: </b></label>'. "\n");
   print('          <input type="text" class="userName"id="userNameBox" placeholder="Enter Username" required="required">'. "\n");
   print('          <input type="button" class="loginButton" id="loginButton" value="Login"/>' . "\n");
   print('        </div>'. "\n");
   print('</form>' . "\n")
   print('     <div id="toolbar">' . "\n");

...
setcookie ( "LOGIN_USERNAME_COOKIE", 
            $_POST['userNameBox'] , 
            $expires = 0, 
            $path = "/" , 
            $domain = 'myDomain.com' ,
            $secure = false,
            $httponly = false 
          );
...
?>

JavaScript(只是试图打印出cookie)

confirm("Username entered: "+document.cookie.split('LOGIN_USERNAME_COOKIE=')[1]);

在确认 Java 警报中,我得到了这个:

Username entered: __utma=261946002.205893547.1618416838.1618416838.1618416838.1; __utmc=261946002; __utmz=261946002.1618416838.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; __utmb=261946002.1.10.1618416838; _fbp=fb.1.1618416838418.1117675244

如何解决此问题以使 cookie 包含用户输入的文本并显示它?

尝试这个:

let username = document.cookie
  .split('; ')
  .find(row => row.startsWith('LOGIN_USERNAME_COOKIE='))
  .split('=')[1];

confirm("Username entered: "+username);

来源: MDN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM