【问题标题】:Catalyst::View::JSON and jqGrid data format questionCatalyst::View::JSON 和 jqGrid 数据格式问题
【发布时间】:2011-03-08 23:40:27
【问题描述】:

我正在使用 Catalyst::View::JSON 和 Catalyst::TraitFor::Controller::jQuery::jqGrid 检索 JSON 数据 到首页。下面是相关的代码(大部分复制自 Catalyst::TraitFor::Controller::jQuery::jqGrid 示例):

包 UW::Controller::Site; 使用 utf8; 使用驼鹿; 使用命名空间::autoclean; BEGIN {扩展 'Catalyst::Controller'; } 与'Catalyst::TraitFor::Controller::jQuery::jqGrid'; 子json:本地{ 我的 ($self, $c) = @_; 我的 $merchant_rs = $c->model('WindyDB::Merchant')->search({}); $merchant_rs = $self->jqgrid_page($c, $merchant_rs); 我的 $row = 0; 我的@row_data; 我的 $i = 0; 而(我的 $mer = $merchant_rs->next){ $i++; 我的 $mer_id = $mer->mer_id; $c->log->debug($mer_id); 我的 $single_row = { 'id' => $i, '细胞' => [ 'id' => $mer->mer_id, 'name' => $mer->mer_name, ], }; 推@row_data,$single_row; } $c->log->debug(@row_data); $c->stash->{json_data}->{rows} = \@row_data; $c->stash->{current_view} = 'JSON'; }

但我发现格式有点奇怪:

{"current_view":"JSON","json_data":{"page":0,"records":"8","rows":[{id:1, 单元格:["test1","6"]},{id:2, 单元格["test2","7"]}],"total":1}}

其实作为jqGrid文档,数据格式应该是:

{总计:“xxx”,页面:“yyy”,记录:“zzz”,行:[{id:“1”, 单元格:[“cell11”,“cell12”,“cell13”]},{id:“2”,单元格:[“cell21”, "cell22", "cell23"]}, ... ] }

这是否意味着“current_view”和“json_data”对是多余的?所以 有没有办法在服务器之前删除 current_view 和 json_data 船? 还是我错误地使用了模块?我是 Catalyst 和 jqGrid 的新手, 请帮忙。 任何回复都非常感谢!

【问题讨论】:

    标签: jquery perl catalyst


    【解决方案1】:

    您使用的是什么 JSON 视图?似乎它正在转换存储中的所有内容(这是默认设置。)需要将 JSON 视图配置为仅转换存储的 json_data 字段中的内容。

    在您的“MyApp.pm”中添加如下内容:

    我的应用程序->配置({ '查看::JSON' => { 暴露存储 => 'json_data' } });

    将 MyApp 替换为您的应用程序控制器的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多