VM5601:2未捕获的SyntaxError:意外的令牌<在JSON的第10位

时间:2017-05-20 09:26:52

标签: javascript jquery json ajax

我想用ajax和jquery获取数据。但我得到了这个错误,我不知道如何解决它。

  

VM5601:2未捕获的SyntaxError:意外的令牌<在JSON的第10位

这是我的代码。

模型

public function GetBloodCatById($id)
{
    $this->db->from('tbl_blood_cat');
    $this->db->where('id_blood_cat',$id);
    $query = $this->db->get();

    return $query->row();
}

控制器

public function ajax_edit($id)
{
        $data = $this->Blood->GetBloodCatById($id);
        echo json_encode($data);
}

查看

function edit_blood(id)
  {
    save_method = 'update';
    $('#form')[0].reset(); // reset form on modals

    //Ajax Load data from ajax
    $.ajax({ 

      url : "<?php echo site_url('Home/ajax_edit/')?>/" + id,
      type: "GET",
      dataType: "JSON",
      contentType: 'application/json',
      success: function(data)
      {
          $('[name="id_blood_cat"]').val(data.id_blood_cat);
          $('[name="catName"]').val(data.category);   

          $('#myModalBloodCat').modal('show'); // show bootstrap modal when complete loaded
          $('.modal-title').text('Edit Blood Cat'); // Set title to Bootstrap modal title

      },
      error: function (jqXHR, textStatus, errorThrown)
      {
        alert(errorThrown);
      }
  });
  }

这是将要获得的数据

{"id_blood_cat":"1","category":"Plasma","createBy":"nicky","updateBy":null,"createAt":"2017-05-11 18:30:09","updateAt":"2017-05-11 18:30:09","flag":"1"}

我和他一起玩了好几个小时。请帮助我。

3 个答案:

答案 0 :(得分:0)

退出php标记并尝试设置这样的网址

 url : "/Home/ajax_edit/?id=" + id,

答案 1 :(得分:0)

将json包装在数组中总是不错的选择。我已经修改了你的函数

public function ajax_edit($id)
{       $res = array(); 
        $data = $this->Blood->GetBloodCatById($id);
        $res = $data;
        echo json_encode($data);
}

和ajax成功处理程序就像

........
success: function(data)
      {   response = $.parseJSON(data);
          $.each(data, function (i, item) {
          $('[name="id_blood_cat"]').val(response.id_blood_cat);
          $('[name="catName"]').val(response.category);   
         }
        $('#myModalBloodCat').modal('show'); // show bootstrap modal when complete loaded
          $('.modal-title').text('Edit Blood Cat'); // Set title to Bootstrap modal title

      },
........

答案 2 :(得分:0)

尝试:url: 'file:///Home/ajax_edit/?id='+id