NAME
Waft::jQuery - jQuery extensions for Waft
SYNOPSIS
package MyWebApp;
use Waft with => '::jQuery'; # for Waft 0.9905 or later
or
package MyWebApp;
use base qw( Waft::jQuery Waft );
DESCRIPTION
Waft のアクションメソッドを起動する Ajax API を提供する。
Ajax API
Waft.jQuery.get
Arguments: action, [data], [callback], [type]
jQuery の Ajax API
jQuery.get
を拡張する API。Waft のpage
と オブジェクト変数をjQuery.get
に埋め込んで実行する。jQuery.get
の引数url
の代わりにaction
(SUBMIT の名前)を受け取る。<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.jQuery.get
は、
$self->output_jquery_request_script('get');
に置き換えられ、
( function (action, data, callback, type) { if ( jQuery.isFunction(dat ...
のように出力される。
Waft.jQuery.post
Arguments: action, [data], [callback], [type]
jQuery の Ajax API
jQuery.post
を拡張する API。 仕様は APIWaft.jQuery.get
と同じ。
METHODS
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>");
AUTHOR
Yuji Tamashiro, <yuji@tamashiro.org>
COPYRIGHT AND LICENSE
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.