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');
とするのがいいと思う。