black_belt
black_belt

Reputation: 6799

How to get json data and display in div using jquery

Let's say .. I have the following script in my controller:

 $result= array("Name"=>Charlie Sheen, "Age"=>30); 
 echo josn_encode($result);

And in my view file I have the following java script. Now could you please tell me what exactly to write in the success function of the script below in order to get the "Name" and "Age" displayed in two different divs inside body tag? I have found some tutorials on this but all those are very confusing to me. Could you please kindly help?

Thanks in Advance :)

<script  type="text/javascript">
 $(function(){ // added

     $('a.read').click(function(){
            var a_href = $(this).attr('href'); 

     $.ajax({

     type: "POST",
     url: "<?php echo base_url(); ?>batch/get_info",
     data: "id="+a_href,
     success: function(server_response){
                                                  //What exactly to write here
                                         }                                      
                                            }); //$.ajax ends here                          
                                                return false    

    });//.click function ends here

  }); // function ends here                        

 </script>  

Upvotes: 1

Views: 5276

Answers (2)

Ry-
Ry-

Reputation: 224856

First of all, you should set the dataType. It should have the value 'json'. As for accessing it, you just access it as you would any other JavaScript object:

<script type="text/javascript">
$(function() {
     $('a.read').click(function() {
         var a_href = $(this).attr('href'); 

         $.ajax({
             type: "POST",
             url: "<?php echo base_url(); ?>batch/get_info",
             data: "id=" + a_href,
             dataType: 'json',
             success: function(result) {
                alert(result.Name); // Charlie Sheen 
             }                                      
         });

         return false;
    });
});
</script>

Upvotes: 0

Wes Crow
Wes Crow

Reputation: 2967

Make sure you spell you json_encode function correctly.

Your html should look like this:

<head>

<script  type="text/javascript">
$(function(){ // added

 $('a.read').click(function(){
     var a_href = $(this).attr('href'); 

     $.ajax({

        dataType : 'json', //You need to declare data type

        type: "POST",
        url: "<?php echo base_url(); ?>batch/get_info",
        data: "id="+a_href,
        success: function(server_response){
           $( '#name' ).text( server_response.Name );
           $( '#age' ).text( server_response.Age);
        }                                      
      }); //$.ajax ends here                          
      return false    

   });//.click function ends here

}); // function ends here                        

</script>  

</head>
<body>

   <div id='name'></div>
   <div id='age'></div>

</body>

Upvotes: 1

Related Questions