我如何从Ajax响应数据中获取PHP变量数据

时间:2019-07-16 11:08:40

标签: php jquery

我有一个程序,通过单选按钮发布数据,并通过jquery ajax函数将其发送到php页面。我想从此页面获取可变数据,以便可以在发送数据的页面中使用它。谁能帮助我

<script type="text/javascript">
function getDesign() {
    var radioValue = $("input[name='metal']:checked").val();
    $.ajax({
        type: "POST",
        url: "<?php echo SITE_URL; ?>image_filter.php",
        data:'metal='+radioValue,
        success: function(data){
            //$("#desc2").html(data);
            alert(data);
        }
    });
}
</script> 
<?php
    $metal = $_POST['metal'];
    $finish = $_POST['finish'];
    echo $metal;
?>

我想在主页上使用metal变量

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式在PHP中返回json:

<?php
    $metal = $_POST['metal'];
    $finish = $_POST['finish'];
    header('Content-Type: application/json');
    $json = json_encode(array("metal"=>$metal));
    echo $json;
    exit;
?>

答案 1 :(得分:-1)

使用dataType选项接受JSON格式的响应。

<script type="text/javascript">
function getDesign() {
    var radioValue = $("input[name='metal']:checked").val();
    $.ajax({
        type: "POST",
        dataType: "json",
        url: "<?php echo SITE_URL; ?>image_filter.php",
        data: {
           metal: radioValue,
           finish: ''
        },
        success: function(data){
            console.log(data.metal);
            console.log(data.finish);
        }
    });
}
</script> 

<?php
    $metal = $_POST['metal'];
    $finish = $_POST['finish'];
    echo json_encode([
        'metal' => $metal,
        'finish' => $finish
    ]);
?>

有关数据类型,请参阅this文档