将AJAX变量发布到同一页面的php

时间:2019-07-22 18:22:18

标签: php ajax

我正在尝试将从下拉列表中获得的值保存到PHP变量中。我目前可以这样做,但可以通过另一个页面进行。但是,我想做的不仅仅是回显变量,还想将其用作同一页面上我的一个PHP函数的参数。

我尝试了其他在网上找到的解决方案,但是所有解决方案都有一个“提交”按钮,我不希望这样做。我只希望变量在选择下拉值后立即在同一页面上更改。
我还尝试用当前页面“ Month.php”替换“ ClientAjax.php”,但得到的只是“ #result” div中的同一页面。

下拉菜单:(Month.php)
用于用数据库中的值填充我的下拉菜单。

<select id="clientselect">
<option selected>ALL</option>
<?php echo getClients(); ?>
</select>

<div id="result"></div>

AJAX:(Month.php)
我发布了两次,因为我需要在刷新后立即显示默认的选定值。

<script>
    $(function(){
        var displayclient=$("#clientselect option:selected").text();
            $.post('ClientAjax.php',{postclient:displayclient},
            function(data){
                $("#result").html(data)
            });
        $("#clientselect").change(function (){
            var displayclient=$("#clientselect option:selected").text();
            $.post('ClientAjax.php',{postclient:displayclient},
            function(data){
                $("#result").html(data)
            });
        })
    })
</script>

ClientAjax.php

<?php 
$client = $_POST['postclient'];
?>

1 个答案:

答案 0 :(得分:0)

在使用$ _SESSION变量之前,需要启动会话。使用PHP命令“ session_start()”执行此操作,最有可能在将使用$ _SESSION变量的页面上。确保将命令放在PHP块的最顶部。

然后,在您的AJAX php脚本中,需要在设置变量值之后放置此命令。 $ _SESSION [“ var_name”] = $ variable;

然后在使用该变量的函数中,只需将您现在正在使用的任何变量替换为$ _SESSION [“ var_name”]。

这仅在您在AJAX调用后的某个时间提交后才起作用。您提交之前,页面上的PHP函数将不会再次运行。也许这种方法不适合您?

如果需要更多帮助,请发回邮件, CharlesEF