javascript - 无法使用 jquery 和 php 设置 session ajax

标签 javascript php jquery ajax session

每当我单击表单上的按钮时,我想向 session 数组添加一个值。我尝试使用 jquery onclick、ajax 和 jquery 来实现此目的。但它似乎没有设置变量或返回任何内容。

在我的 main.php 中我有

<form id="sessy">
    <input type="text" name="name" id="name">
    <button id="submit" name="submit" class="btn btn-success">Submit</button>
</form>

<script>
    $("#sessy").submit(function(){
        $.ajax({
            type: "POST",
            url: "session.php",
            data: $(this).serialize(),
            success: function(){
                // Do what you want to do when the session has been updated
            }
        });

        return false;
    });
</script>

<?php 
session_start();
echo $_SESSION['name'];

?>

在我的 session.php 中

<?php
session_start();

$_SESSION['name'][] = $_POST['name'];
?>

我在页面底部调用 jQuery.js。

它在下面给出了我,其中第 23 行是我试图回显 session 变量的部分。

Notice: Undefined index: name in ....main.php on line 23

我尝试 print_r($_SESSION);我得到的不是 echo,而是“Array ( )”

最佳答案

如果您使用 ajax 提交,则实际上并不需要表单
submit 是一个保留关键字,您不应将其用作 idclassname。< br/> 它有 bug 的倾向...

尝试将其作为您的 main.php:

<?php
session_start();
?>
<html>
<head>
<!-- jQuery -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<div id="sessy">
    <input type="text" name="name" id="name">
    <button class="btn btn-success">Submit</button>
</div>
<br>
<div id="result"></div>
<script>
    $("#sessy .btn").click(function(){
        $.ajax({
            type: "POST",
            url: "session.php",
            data: $("#sessy #name"),
            success: function(data){
                // Do what you want to do when the session has been updated
                $("#result").html("<h2>Name «"+data+"» is in session.</h2>");
            }
        });
    });
</script>
</body>
</html>

还有你的 session.php:

<?php
session_start();

$_SESSION['name'] = $_POST['name'];
echo $_SESSION['name'];
?>

关于javascript - 无法使用 jquery 和 php 设置 session ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39841715/

相关文章:

javascript - Node js - 如何安全地将 token 从 http get 请求传递到 html 页面?

javascript - 在 IIFE 函数中使用 document.write 是否安全

php - 如何在 PHP 中从这个组合中删除点

jquery - 使用 Javascript 为元素添加样式

jquery - 如果页面处于事件状态,则更改 li 类

javascript - 将表的隐藏状态更改为可见状态 > 单击 TR

c# - 我正在从 javascript 调用 ASMX Web 服务,它可以防止我的 session 超时

javascript - 构建大型前端元素的最佳方式是什么?

php - 如何使用 Cronjob PHP 脚本同步两个 MySQL 数据库?

php - 无法连接到本地主机中的 wordpress (GET http://localhost/net::ERR_CONNECTION_REFUSED)