如何将参数从 JQUERY 传递到 PHP 以更新会话变量


how to pass a parameter from JQUERY to PHP in order to update a session variable?

我正在尝试从动态创建的下拉菜单中传递一个选择/值到 php 文件并将其存储在会话变量中,但 php 没有得到任何参数。这是我在 Jquery 文件中的代码:

$('#fgdesignation').change(function ()
            {
                var project =$("#fgdesignation option::selected").text();
                var url='backend.php';
             // alert(project);
            $.post(url, {fgdname : project});
        });

这是 PHP 文件:

if(isset($_POST['fgdname'])) {
    $fgdname= $_POST['fgdname'];
    $_SESSION['fgdname']=$fgdname;
}

谢谢!

不要忘记添加

session_start()

在 PHP 文件的顶部。就是这样。

试试这个:

$('#fgdesignation').change(function () {
    var project = $("#fgdesignation").filter(':selected').val();
    var url = 'backend.php';
    // alert(project);
    $.post(url, {
        fgdname: project
    });
});

随便说一下,我看到你使用的是.text()而不是.val()

取消注释您的alert(),看看是否有返回的值

编辑$("#fgdesignation").filter(':selected').val();假设:<select id="fgdesignation'>.

尝试:

$('#fgdesignation').change(function ()
            {
                var project =$("#fgdesignation option:selected").val();
                var url='backend.php';
             // alert(project);
            $.post(url, {fgdname : project}, function(response){alert(response);});
        });

您使用的是.text()而不是 .val() ,后者返回当前所选选项的值,并在只需要一个选项时将"::"作为选择器。

在您的 PHP 文件中:

session_start(); // Important if you're not already doing it!
if(isset($_POST['fgdname'])) {
    $fgdname= $_POST['fgdname'];
    $_SESSION['fgdname']=$fgdname;
    echo $fgdname;
}

如果一切按计划进行,您应该有一个警报框,其中包含您在选择框中选择的值,并将其显示在会话数组中。试一试。