Waft::jQuery - jQuery extensions for Waft
package MyWebApp; use Waft with => '::jQuery'; # for Waft 0.9905 or later
or
package MyWebApp; use base qw( Waft::jQuery Waft );
Waft のアクションメソッドを起動する Ajax API を提供する。
Waft.jQuery.get
Arguments: action, [data], [callback], [type]
jQuery の Ajax API jQuery.get を拡張する API。Waft の page と オブジェクト変数を jQuery.get に埋め込んで実行する。
jQuery.get
page
jQuery.get の引数 url の代わりに action(SUBMIT の名前)を受け取る。
url
action
<form action="<% = $self->url %>" method="GET"> <input type="submit" name="on" /> </form> <script> Waft.jQuery.get('on'); // same as above </script>
引数 data、callback、type は jQuery.get と同様に処理される。
Waft.jQuery.get( 'on', { id: 1 }, function (data) { jQuery('#status').html(data); }, 'html' );
Waft.jQuery.get は実際には JavaScript のメソッドではなく、 Waft::convert_text_part をオーバーライドする Waft::jQuery::convert_text_part がテンプレート処理時にスクリプトに 置き換えるためのフレーズである。
Waft::convert_text_part
Waft::jQuery::convert_text_part
は、
$self->output_jquery_request_script('get');
に置き換えられ、
( function (action, data, callback, type) { if ( jQuery.isFunction(dat ...
のように出力される。
Waft.jQuery.post
jQuery の Ajax API jQuery.post を拡張する API。 仕様は API Waft.jQuery.get と同じ。
jQuery.post
output_jquery_sync_script
メソッド Waft.jQuery.get もしくは Waft.jQuery.post で起動した Waft のアクションメソッド内でオブジェクト変数を変更した場合に、 レスポンスにこのメソッドの出力を加える事でオブジェクト変数の内容を 反映させる事ができる。
<script><% $self->output_jquery_sync_script; %></script>
jquery_sync_script
メソッド output_jquery_sync_script が出力するスクリプトを取得する。
my $jquery_sync_script = $self->jquery_sync_script; $self->output("<script>$jquery_sync_script</script>");
Yuji Tamashiro, <yuji@tamashiro.org>
Copyright (C) 2008, 2009 by Yuji Tamashiro
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Waft::jQuery, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Waft::jQuery
CPAN shell
perl -MCPAN -e shell install Waft::jQuery
For more information on module installation, please visit the detailed CPAN module installation guide.