Ajaxヘルパーの挙動
symfonyはprototype.jsとscript.aculo.usがフレームワークに統合されてて
Javascriptヘルパーから呼び出せます。(Railsにあるヘルパーとほぼ一緒、ていうかパクリ)
でも、どのヘルパーがどのAjaxクラス呼ぶのか公式マニュアル細かく書かれてないので調べてみました。
<?php use_helper('Javascript'); link_to_remote('click me', array( 'url' => 'publish/refresh', 'with' => "'value' + value", 'complete' => "showResponse(request, json)", ));
-
- 変換コード
<a href="#" onclick="new Ajax.Request('/publish/refresh', {asynchronous:true, evalScripts:false, onComplete:function(request, json){showResponse(request, json)}, parameters:'value' + value}); return false;">click me</a>
<?php use_helper('Javascript'); link_to_remote('click me', array( 'url' => 'publish/refresh', 'update' => 'element', 'with' => "'value' + value", 'complete' => "showResponse(request, json)", ));
-
- 変換コード
<a href="#" onclick="new Ajax.Updater('element', '/publish/refresh', {asynchronous:true, evalScripts:false, onComplete:function(request, json){ showResponse(request, json)}, parameters:'value' + value}); return false;">click me</a>
<?php use_helper('Javascript') ?> <div id="notification"></div> <?php echo periodically_call_remote(array( 'frequency' => 60, 'update' => 'notification', 'url' => 'publish/watch', 'with' => "'param=' + \$F('mycontent')", )) ?>
-
- 変換コード
<script type="text/javascript"> //<![CDATA[ new PeriodicalExecuter(function() { new Ajax.Updater( 'notification', '/ajax/watch', {asynchronous:true, evalScripts:false, parameters:'param=' + $F('mycontent')}) }, 60) //]]> </script>