[Catalyst] Using Jquery UI Autocomplete widget with Catalyst::View::JSON

Hetényi Csaba csabiwork at tata.hu
Mon Apr 26 08:34:13 GMT 2010


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 :)
> 

> 





More information about the Catalyst mailing list