« Femoで全角スペースでのタグの切り分けをサポートしました。 | メイン | CGI::Application::Dispatch v2.00_01 »

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');

とするのがいいと思う。