2017-05-20 72 views
0

我想用ajax和jquery獲取數據。但我得到這個錯誤,我不知道如何解決它。VM5601:2未捕獲的SyntaxError:意外的令牌<在位置10的JSON中

VM5601:2 Uncaught SyntaxError: Unexpected token < in JSON at position 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"} 

我一直在這個幾個小時一直在努力。請幫助我thx。

+0

嘗試把一個'退出;''後回聲json_encode($的數據);' – gaganshera

+0

檢查從控制器 –

+0

沒什麼變化@gaganshera –

回答

0

Reomve PHP的標籤,並嘗試設置URL像數組這樣

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

錯誤404沒有找到,因爲它只會去我的本地主機而不是我的項目文件夾 –

+0

是你的控制器和操作方法是這樣的url – Jay

+0

Yups它是山姆@Jay –

0

包裝JSON是一件好事choice.Here我已經修改了你的函數小

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

和阿賈克斯成功處理程序是像

........ 
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 

     }, 
........ 
+0

它不工作仍然得到相同的錯誤。 –

+0

你的ajax響應是什麼,應該是[{「Id」:10,「ContactId」:4554,「ExpirationMonth」:「02」,「ExpirationYear」:「2018」}] – CyberAbhay

+0

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

0

嘗試:url: 'file:///Home/ajax_edit/?id='+id

+0

我得到這個錯誤 XMLHttpRequest無法加載file:/// Home/ajax_edit /?id = 1。協議方案僅支持交叉源請求:http,data,chrome,chrome-extension,https,chrome-extension-resource。 –

+0

嘗試向傳遞給'$ .ajax'方法的對象添加另一個鍵:'dataType:「jsonp」,'讓我知道這是否可行。否則,嘗試在本地主機上服務路徑'Home/ajax_edit /',然後將URL更改爲'url:http:// localhost: /' –

+0

這就是我得到的 –

相關問題