You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PHP Ajax请求的成功返回值存入$class变量?

问题:如何将Ajax返回值存入变量$class

前端PHP页面的JS代码

$('.routine-of-classes ul.nav li button').click(function(){
        $.ajax({
            url: 'ajax.php',
            type: 'POST',
            data: {
                className : $(this).attr("className")
            },
            success: function(data){
                $('.get-class-id').text(data);
            }
        });
    });

Ajax处理文件(ajax.php)

if(isset($_POST['className'])){
    $getSubId = $_REQUEST['className'];
    echo $getSubId;
}

当前Ajax请求成功后会将返回值渲染到页面元素,我希望将该返回值存入名为$class的变量,请问需要如何操作?


解决方案

根据变量的使用范围,有两种实现方式:

1. 局部变量(仅在success回调内使用)

直接在success函数内部声明并赋值,这个变量只能在回调函数里访问:

success: function(data){
    $('.get-class-id').text(data);
    // 声明局部变量$class并赋值
    let $class = data;
    // 此处可对$class进行后续操作
}

2. 全局变量(可在其他函数/作用域访问)

先在回调函数外部的全局作用域声明变量,再在success回调里给它赋值:

// 在全局作用域声明变量
let $class;

$('.routine-of-classes ul.nav li button').click(function(){
    $.ajax({
        url: 'ajax.php',
        type: 'POST',
        data: {
            className : $(this).attr("className")
        },
        success: function(data){
            $('.get-class-id').text(data);
            // 给全局变量赋值
            $class = data;
        }
    });
});

注意:不推荐用var隐式声明全局变量(会造成全局变量污染),优先使用let或const明确声明作用域。


内容的提问来源于stack exchange,提问作者Yeasin Arafat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 12:15:29