未捕获的SyntaxError:意外的令牌<在JSON中

时间:2017-03-30 01:39:16

标签: javascript php ajax codeigniter

当我想在Ajax中使用Codeigniter进行依赖下拉时,我遇到了问题。 我想做一个子下拉列表,但是当我创建这样的代码时:

<script type="text/javascript">

  $(document).ready(function(){

    /*Get the satuan_kerja list */

      $.ajax({
        type: "GET",
        url: "<?php echo site_url('Pendaftaran/get_satker');?>",
        data:{id:$(this).val()}, 
        beforeSend :function(){
      $('.satuan_kerja').find("option:eq(0)").html("Please wait..");
        },                         
        success: function (data) {
          /*get response as json */
           $('.satuan_kerja').find("option:eq(0)").html("Pilih Satuan Kerja");
          var obj=jQuery.parseJSON(data);
          $(obj).each(function()
          {
           var option = $('<option />');
           option.attr('value', this.value).text(this.label);           
           $('.satuan_kerja').append(option);
         });  

          /*ends */

        }
      });



    /*Get the unit_kerja list */


    $('.satuan_kerja').change(function(){
      $.ajax({
        type: "POST",
        url: "<?php echo site_url('pendaftaran/get_unit_kerja');?>",
        data:{id:$(this).val()}, 
        beforeSend :function(){
      $(".unit_kerja option:gt(0)").remove(); 
      $('.unit_kerja').find("option:eq(0)").html("Please wait..");

        },                         
        success: function (data) {
          /*get response as json */
           $('.unit_kerja').find("option:eq(0)").html("Pilih Unit Kerja");
          var obj=jQuery.parseJSON(data);
          $(obj).each(function()
          {
           var option = $('<option />');
           option.attr('value', this.value).text(this.label);           
           $('.unit_kerja').append(option);
         });  

          /*ends */

        }
      });
    });

  });

</script>

第一个功能是工作,但是当我选择或选择第一个表格或下拉列表时,它必须显示子下拉列表,但子下拉列表的第二个功能不起作用,我得到如下错误:

>Uncaught SyntaxError: `Unexpected token < in JSON at position 1

at JSON.parse (<anonymous>)
at Function.n.parseJSON (jquery.min.js:4)
at Object.success (daftar:365)
at i (jquery.min.js:2)
  at Object.fireWith [as resolveWith] (jquery.min.js:2)
 at y (jquery.min.js:4)
  at XMLHttpRequest.c (jquery.min.js:4)
  

这是pendaftaran / get_satker和pendaftaran / get_unit_kerja的代码

Public function get_satker()
        {
            $query=$this->db->get('satuan_kerja');
            $result= $query->result();
            $data=array();
            foreach($result as $r)
            {
                $data['value']=$r->id_satker;
                $data['label']=$r->nama_satuan_kerja;
                $json[]=$data;


            }
            echo json_encode($json);

        }


Public function get_unit_kerja()
        {

              $result=$this->db->where('id_satker',$_POST['id_unit_kerja'])
                            ->get('unit_kerja')
                            ->result();

            $data=array();
            foreach($result as $r)
            {
                $data['value']=$r->id_unit_kerja;
                $data['label']=$r->nama_unit_kerja;
                $json[]=$data;


            }
            echo json_encode($json);

        }

0 个答案:

没有答案