2011-03-09 58 views
0

我有加載我的jqGrid的問題。它只是加載兩條平行線,並在其上方顯示「Loading ...」。 這是我的控制器:jqGrid和CodeIgniter問題

function grid() 
{ 
    $var['grid'] = $this->Uom_model->select(); 
     $i = 0; 
     foreach($var['grid'] as $row) 
     { 
      $response->rows[$i]['id']=$row->id; 
      $response->rows[$i]['cell']=array($row->id,$row->uname); 
      $i++; 
     } 
    echo json_encode($response); 


} 

這是我的看法:

$(document).ready(function() { 

    jQuery("#list27").jqGrid({ 
      url:'<?php echo base_url();?>index.php/uom/grid', 
      datatype: "json", 
      mtype: "post", 
      height: 250, 
      width: 450, 
      colNames:['ID','Unit of Measure'], 
      colModel:[ 
        {name:'id',index:'id', width:65}, 
        {name:'uname',index:'uname'} 
       ], 
      rowNum:50, 
      rowTotal: 2000, 
      rowList : [20,30,50], 
      loadonce:true, 
      rownumbers: true, 
      rownumWidth: 40, 
      gridview: true, 
      pager: '#pager27', 
      viewrecords: true, 
      sortorder: "asc", 
      caption: "Loading data from server at once"  
     }); 
}); 

,如果我從控制器只運行功能, 「網格」 的JSON輸出:

{"rows":[{"id":"1","cell":["1","grams"]},{"id":"2","cell":["2","hour"]},{"id":"3","cell":["3","kilo"]},{"id":"4","cell":["4","liter"]},{"id":"5","cell":["5","pcs"]}]} 

謝謝你提前。

+1

你用Firebug來檢查你的ajax進程發送/回來了嗎?可能只是一個簡單的JS問題。 – Jakub

回答

1

我無法重現您的問題,但我測試的網格(請參閱here)的行號錯誤。使用jsonReader

jsonReader: { 
    page: function (obj) { return 1; }, 
    total: function (obj) { return 1; }, 
    records: function (obj) { return obj.rows.length; } 
} 

一個可以解決的問題:看here

+0

非常感謝您的幫助。真的很感激它。我使用FireBug進行了測試,並且沒有任何ajax請求從我的視圖發送到或接收到我的控制器(網格)。 –

+0

@Marko:爲什麼在url中使用''?php echo base_url();?>'?如果您嘗試訪問另一個站點或同一Web服務器上至少另一個IP端口,您將遇到[同源策略](http://en.wikipedia.org/wiki/Same_origin_policy)問題。如果你真的**需要訪問另一個站點,你的服務器應該支持JSONP,你應該使用'&jsonCallback =?'作爲url的一部分。 – Oleg

+0

再次感謝Oleg的幫助。是否可以使用<?php echo site_url('uom/grid /');?> 順便說一句,我無法創建網格,因爲我沒有包括:jQuery.jgrid.no_legacy_api = true; ,在我的頭上。 –