如何在Yii中使用JSON

I want to send/get a variable to/from controller action. My codes:

view file

....
<button id="radiyo">radio</button>
<script>
$("#radiyo").on("click", function(){
    var $radio = $('input[type=radio][name=siniflerin-siyahisi]:checked').attr('id');
    $.ajax({
        type: 'POST',
        url: '<?=Yii::app()->baseUrl;?>/ideyalar/sech/radio',
        async: false,
        cache: false,
        data: {radio: $radio},
//        datatype: "html",
        success:function(){

            alert($radio);
        }
    });
    $.ajax({
        type: 'GET',
        url: '<?=Yii::app()->baseUrl;?>/ideyalar/sech/radio',
        async: false,
        cache: false,
        datatype: "json",
        data: {change: $sql},
        success: function(data) {
            alert(data.change);
        }
    });
});
</script>
....

controller action

public function actionSech ($radio)
{
    $sql = Yii::app()->db->createCommand()
        ->select ('m.maraq')
        ->from ('maraq m')
        ->where ('m.idsinif=:ids', [':ids'=>$radio])
        ->queryAll();
    $gonderilen = CJSON::encode(['change'=>$sql]);
}

I read articles from Yii offical site and other forums. But I couldn't understand how can I do it.

Please tell me, how can I send $sql variable to my view file?

Thanks.

I'm not pretty sure what you want. But, I want to pointing out some snippet.

In view file

<?php
    Yii::app()->clientScript->registerScript("header-info","
        var baseUrl = '".Yii::app()->baseUrl;."';  
    ",CClientScript::POS_HEAD);
?>

<button id="radiyo">radio</button>
<script>
    $("#radiyo").on("click", function(){
    var radioValue = $('input[type=radio][name=siniflerin-siyahisi]:checked').attr('id');
    $.ajax({
        url: baseUrl +'/ideyalar/sech',
        dataType:'json',
        type:'POST',        
        data:{radioValue:radioValue},
        async:false
        }).done(function(data){
         if(data['status'] == 'OK'){
             alert(data['returnValue']);
         }else if(data['status'] == 'ERROR'){
             alert("HERE WE GO ERROR");
         }
     });
   });
</script>

Your controller action;

public function actionSech()
{
   //In my point, I never call db layer in controller. Controller should be routing purpose

   If(Yii::app()->request->isAjaxRequest){
      $radioValue = isset($_REQUEST['radioValue']) ? $_REQUEST['radioValue'] : "";
      $returnObj = array();
      if($radioValue !=""){
         $query = "SELECT `maraq` FROM maraq WHERE idsinif='$radionValue'";
         $result = Yii::app()->db->createCommand($query)->queryScalar();
         if($result != "" || $result != null){  //ensure result is correct or not
             $returnObj['returnValue'] = $result;
             $returnObj['status'] = 'OK'; 
         }else{
             $returnObj['status'] = 'ERROR'; 
         } 
      }else{   //if radiovalue is blank string
         $returnObj['status'] = 'ERROR';
      }
      echo json_encode($returnObj);
   }
}

Hope this help! Btw, JavaScript variable can't not initialize with $. Just only var yourVar="";