Friday, February 17, 2012

Why Json is null in this situation?


I'm trying to return a JSON encoded array from a PHP page via ajax. here's my code from the calling page






$('#test_load').click(function(){
$.ajax({
type:"POST",
url:'/actions/admin_load.php',
dataType: 'json',
asynch:false,
data:"action=4",
success: function(json) {
alert("we're back");
alert(json.a);
}
});
});





here's my php code




//return json array
case "4" :
$str2 = "HELLO";
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
$str = json_encode($arr);
echo $str;

break;





I keep getting "json is null". Any suggestions would be much appreciated

2 comments:

  1. I think you should try "catch" the variable

    $action=$_POST['action'];
    then us it in switch
    case "$action" : ....

    ReplyDelete
  2. You should set HTTP header "Content-Type" in your PHP script:

    header('Content-type: application/json')

    ReplyDelete