From: Dobrica Pavlinusic Date: Fri, 11 Mar 2011 20:32:50 +0000 (+0000) Subject: added _render_jsonp for angular X-Git-Url: http://git.rot13.org/?p=APKPM.git;a=commitdiff_plain;h=8396b583f107edbca2550441b49c759a53537afd added _render_jsonp for angular --- diff --git a/web_ui.pl b/web_ui.pl index 01b7b98..78823d0 100755 --- a/web_ui.pl +++ b/web_ui.pl @@ -33,13 +33,23 @@ get '/ping_g' => sub { $self->render( 'ping', pong => $pong ); }; +sub _render_jsonp { + my ( $self, $json ) = @_; + #my $data = $self->render( json => $json, partial => 1 ); + my $data = $json; + if ( my $callback = $self->param('callback') ) { + $data = "$callback($data)"; + } + $self->render( data => $data, format => 'js' ); +} + + get '/g/:call/:args' => [ args => qr/.*/ ] => sub { my $self = shift; my $ret = $gearman->req( 'SUBMIT_JOB', $self->param('call'), '', $self->param('args') ); warn $self->param('call'), " = ", dump($ret), "\n"; die "no result for ", $self->param('call'), ' args: ', $self->param('args') unless defined $ret; - my $json = Mojo::JSON->new->decode( $ret ); - $self->render_json( $json ); + _render_jsonp( $self, $ret ); }; app->start; __DATA__