如何在PHP中访问AJAX响应变量

时间:2015-12-25 18:41:15

标签: php jquery ajax

我无法使用php通过ajax访问我的变量。

AJAX代码

$("input[name='absent[]'").change(function() {
    var obj = $(this);  //checkbox
    var valueZero = obj.val();
    var Code = obj.attr('data-Code');
    var value = obj.attr('data-session');
    /*var theTR = $(this).parent('tr').children().find('td:eq(0)').addClass('hidden');*/
    /*    alert( theTR.text());*/
    /*$(this).addClass('hidden');*/
    $.ajax({
        data: "{ code: '"+ Code +"', abt_prt: "+ valueZero +", InOut: "+ value +" }",  // need to access these variables in php
        type: "post",
        dataType:'json',
        url: "insertabsent.php",
        success: function(){
            obj.addClass('hidden');
        }
    });
});

PHP代码

<?php
if(isset($_REQUEST))
{
   $code = $_POST['code']; //variable
   $absent_present = $_POST['abt_prt']; //variable
   $session = $_POST['InOut'];  //variable
   //need this variables to perform a insert query
}
?>

4 个答案:

答案 0 :(得分:0)

使用

等数据
data: { code:Code , abt_prt : valueZero , InOut : value },

在php中,我真的不知道$ _REQUEST是什么,但你可以使用

if(isset($_POST)){

}

答案 1 :(得分:0)

尝试将数据变量更改为:

data: {"code":Code,"abt_prt":valueZero,"InOut":value},

答案 2 :(得分:0)

您误解了如何发送AJAX参数。您不需要发送索引,您可以发送一个简单的Javascript对象,如下所示:

$.ajax({
    data: { code: Code, abt_prt: valueZero, InOut:value},  // need to access these variables in php
    type: "post",
    dataType:'json',
    url: "insertabsent.php",
    success: function(){
        obj.addClass('hidden');
    }
});

但是,如果由于某种原因你想发送一个像你一样的字符串,那么使用json_decode解码它。

答案 3 :(得分:0)

试试这个:

JAVASCRIPT

var mainString = "code="+Code+"&abt_prt="+valueZero+"&InOut="+value;

IN AJAX

data : mainString

<强> PHP

$code = $_POST['code']; //variable
$absent_present = $_POST['abt_prt']; //variable
$session = $_POST['InOut'];  //variable