我想用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"}
我和他一起玩了好几个小时。请帮助我。
答案 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