为什么我的数据没有被添加到mojolicious的藏匿处?

时间:2014-12-08 05:33:18

标签: javascript jquery perl mojolicious

我遇到了Mojolicious和藏匿的问题,我想我可能只是不理解它的工作方式? 我有一个包含2个组合框的页面,当第一个条目更改时,我希望更新第二个选项。

所以我添加了一个如下所示的事件处理程序,然后调用我的控制器子程序' devicecommandset'然后将DBIx查询的结果放入一个哈希数组中,我将其添加到我的存储中。

然后我只是呈现一些良性文本。我的子程序被调用,并且在' @commandsets'中有预期的内容。但是我无法在浏览器控制台上看到它(我在调试模式下运行)。

我是否需要实际修改要填充的存储的DOM?基本上我只是试图从我的请求中获取数据以填充组合框选项。

在我的模板中

$(document).ready(function() {

 $('select:not([name*="command"])').live('change', function (e) {
     $.get('devicecommandset', { device: $(this).attr("value") },
          function (data) {
                alert("Made it this far");
           });
      });         
 });

在我的控制器中

sub devicecommandset {
  my $self = shift;
  my $device = $self->param('device') || '';
  my @commandsets = $self->db->resultset('CommandSet')->search_commandsets_by_devicename($device); 
  $self->stash(commandsets => \@commandsets );
  print Dumper(@commandsets);
  $self->render(text => 'success' );
 }

1 个答案:

答案 0 :(得分:3)

您基本上将转储器打印到日志,而不是浏览器。您的存储空间未在渲染中使用,因为您没有引用它。使用内联渲染类型和" dumper"帮手。 尝试:

$self->stash(commandsets => \@commandsets );
$self->render( inline => '<%= dumper $commandsets %>' );