Ahh!

That was the trick :)))
(expose_stash => 'json')

Now it is correctly translate the perl arrayref datastructure to JSON array ( [ ... ] )

my @aoh = (
    {
       value  => "1",
       label     => "betty",
    },
    {
       value => "2",
       label    => "jane",
    },

    {
       value => "3",
       label    => "marge",
    },
);
        $c->stash->{json} = \...@aoh;
        $c->forward('View::JSON');

:)

Thanks Ben!

One last question: if I have a DBIx resultset, how to use it to
populate autocomplete with the easiest way?

Best wishes from Hungary!




Ben van Staveren írta:
You can do that with View::JSON :) Just read the docs though, the reason it didn't work is that you put your data in

$c->stash->{json} = [ ... ]

And View::JSON will attempt to turn your entire stash into JSON data :) And it does that bit correctly, but the thing you end up with is

{
 json: [ ... ]
}

And autocomplete doesn't like that. So, either do:

$c->stash([ ... ])

Or set the expose_stash setting. Whatever is set in there, is the only thing that View::JSON will attempt to serialise.

Personally I prefer expose_stash => 'json', so that anything under $c->stash->{json} is serialised, but up to you :)






_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to