2011-03-09 8 views
0

jqGridの読み込みに問題があります。それはちょうど2つの平行線をロードし、それらの上に "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出力Iは、コントローラからのみ機能 "グリッド" を実行する場合は、次のとおりです。

{"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; } 
} 

1を使用することで問題を解決することができます:hereを参照してください。

+0

ありがとうございました。心から感謝する。私はFireBugでテストしましたが、私の見解からコントローラ(グリッド)に送信/受信されたAjaxリクエストはありません。 –

+0

@Marko:なぜあなたは '<?php echo base_url();?>'をURLで使うのですか?同じWebサーバー上の別のサイトまたは少なくとも別のIPポートにアクセスしようとすると、[同じ原点ポリシー](http://en.wikipedia.org/wiki/Same_origin_policy)の問題が発生します。 **本当に**別のサイトにアクセスする必要がある場合、サーバーはJSONPをサポートする必要があります。& '&jsonCallback =?' URLの一部として – Oleg

+0

オレグに助けをもう一度ありがとう。 <?php echo site_url( 'uom/grid /');?> Btw、私は含まなかったので、グリッドを作成できませんでした:jQuery.jgrid.no_legacy_api = true; 、私のヘッダーに。 –