Catalyst::View::JSON
miyagawaさんのCatalyst::View::JSONを試し中。
sub foo : Local { my ($self,$c) = @_; $c->stash->{tags}=[qw/foo bar baz/]; $c->forward('View::JSON'); }
として、prototype.jsのAjax.Requestなどで、
new Ajax.Request( "/foo",{ onComplete: function(originalRequest){ var ret = eval(originalRequest.responseText); alert(Object.inspect(ret['tags'])); } });
こうすると、きちんと
['foo','bar','baz']
と得られるはず。Object.inspectもData::Dumperみたいで便利。
日本語対策というかSafari対策としては、
$c->res->content_type('text/javascript+json; charset=utf-8');
とするのがいいと思う。