【问题标题】:PHP - get variable obtained by ajaxPHP - 获取ajax获取的变量
【发布时间】:2025-12-28 22:35:12
【问题描述】:

我用ajax通过这种方式向我发送一个php变量:

<script type="text/javascript">
$(document).ready(function(){
    $("#disdiciButton").click(function(){

       var log_user = <?php echo json_encode($log_user);?>;
            alert(log_user);

            $.ajax({
               type: 'POST',
               url: 'disdici.php',
               data:log_user,
               success: function(data) {
                   $("#deleteResponse").text(data); 

               }
        });
     });
});
</script>

现在我正在尝试在 php 页面 disdici.php 中收集这些数据,但我不知道如何。我试过这样:

$log_user = "";
if(isset($_POST['data'])){
   $log_user = json_decode(data);         
}
echo 'user: '.$log_user;

$log_user 仍为空。我该怎么办?

【问题讨论】:

  • data 不是已发布字段。在这种情况下它是一个常量,所以 $log_user 将为空。
  • 我要在那个地方写什么?

标签: php jquery ajax variables post


【解决方案1】:

你必须像这样写你的数据:

data : 'var1=' + value1 + '&var2=' + value2 + '&var3=' + value3...

所以,你可以在 php 中获取变量:

$_POST['var1'] = value1; 
...

在你的例子中:

<script type="text/javascript">
$(document).ready(function(){
   $("#disdiciButton").click(function(){

      var log_user = <?php echo json_encode($log_user);?>;
           alert(log_user);

           $.ajax({
              type: 'POST',
              url: 'disdici.php',
              data:'log_user=' + log_user,
              success: function(data) {
                  $("#deleteResponse").text(data); 

              }
       });
    });
});
</script>

在 PHP 文件中,你会得到值:

$_POST['log_user']

【讨论】: