2015-07-02 17:17:52 2835次浏览 1条回答 0 悬赏 5 金钱

在现有的yii2项目框架中使用jQuery Grid Plugin – jqGrid,无法显示数据。写了测试页面,一个html+php可以顺利显示,但是放到项目中就显示不了。
主要代码如下:
controller中

public function actionTest()
{        
    header('Content-Type: application/json; charset=UTF-8');
    $responce->page = 1;
    $responce->total = 1;
    $responce->records = 1;
    $responce->rows[0]['id'] = 1;
    $responce->rows[0]['cell'] = array ('1','testdate...');
   
    echo json_encode($responce);        
    return  $this->render("Test");
}

view中的test.php

<?php $this->registerJs(   
"
jQuery('#list4').jqGrid({ 
    url:'test.php',
        datatype: \"json\", 
        height: 250, 
        autoencode: true,
        colNames:['Inv No','Notes'], 
        colModel:[ 
            {name:'id',index:'id', width:60, sorttype:\"int\"}, 
            {name:'note',index:'note', width:150, sortable:false} 
        ],              
    }); 
"
); ?>

怀疑两个地方引起数据不显示
一、url赋值有问题
test.php在modules/admin/views/user/test.php,是不是url直接给test.php不对?
二、actionTest的问题
运行后页面最上端直接显示{"page":1,"total":1,"records":1,"rows":[{"id":1,"cell":["1","testdate..."]}]}
是不是return $this->render("Test");引起的异常?

这个问题研究好久都没有解决,希望大家能帮帮我,谢谢!

  • 回答于 2015-07-03 08:55 举报

    renderAjax函数 试一下

    1 条回复
    回复于 2015-07-03 10:56 回复

    用renderAjax函数后界面上只输出一条json数据,没有渲染。

您需要登录后才可以回答。登录 | 立即注册
abc00sun
实习生

abc00sun

注册时间:2015-07-02
最后登录:2015-08-21
在线时长:1小时3分
  • 粉丝0
  • 金钱5
  • 威望0
  • 积分15

热门问题