kelvin sutanto
kelvin sutanto

Reputation: 93

How to access json_encoded php array from jquery

I have a script like this:

$(document).on("click", ".passingID", function () {
         var ids = $(this).attr('data-id');
         $("#idkl").val( ids );
         $.ajax({
              method: "POST",
              url: "getidforeditkaryawan.php",
              data: { idkl: ids}
        }).done(function(data) {
            console.log(data);
            $("#nik").val(data['nik']);
            $("#ktp").val(data['ktp']);
            $("#status").val(data['status']);
            $("#nama").val(data['nama']);
            $("#bank").val(data['bank']);
            $("#norek").val(data['norek']);
            $("#tglmsk").val(data['tgl_msk']);
            $("#tglkl").val(data['tgl_keluar']);
            $("#idp").val(data['id_perusahaan']);
            $("#tlk").val(data['tlk_individu']);
          }).fail(function( jqXHR, textStatus ) {
              console.log(jqXHR, textStatus);
        });
    });

and this is getidforeditkaryawan.php file:

<?php
   $con = mysqli_connect("127.0.0.1","root","","penggajian"); 
   $sql = "SELECT * FROM karyawan_lapangan WHERE id_kl = '".$_POST['idkl']."'";
   $getdatakaryawan = mysqli_query($con,$sql);
   $data = mysqli_fetch_assoc($getdatakaryawan);
   print_r(json_encode($data));
?>

but everytime i try to print the value inside the 'data' variable like this

console.log(data['nik']);

the value won't appear

the result from print_r(json_encode($data)); is this:

{"id_kl":"4","nik":"13","ktp":"1231231","status":"aktif","nama":"ardia","bank":"asdasd","norek":"21313","tgl_masuk":"2019-02-14","tgl_keluar":"0000-00-00","id_perusahaan":"3123121","tlk_individu":"4124124"}

Upvotes: 1

Views: 42

Answers (1)

pr1nc3
pr1nc3

Reputation: 8358

Since you return a json object you can access it like:

$("#nik").val(data.nik);

Edit based on 04FS comment:

 $.ajax({
              method: "POST",
              dataType: "json",
              url: "getidforeditkaryawan.php",
              data: { idkl: ids}
        }).

Missed that spot, he is right.

Upvotes: 2

Related Questions