如何在cakehp2中JsHelper的请求方法中使用事件选项(before,complete)


how to use Event Options(before,complete) in request method of JsHelper in cakephp 2

我正在使用cakehpJshelper进行ajax调用。我想在ajax调用之前显示loader,但当我添加beforeevent选项时,ajax调用停止工作。我正在使用以下代码

$data = $this->Js->get('#PostWebadminAdd1Form')->serializeForm(array('isForm' => true, 'inline' => true));
$this->Js->get('#PostWebadminAdd1Form')->event(
        'submit', $this->Js->request(
                array('action' => 'ajax_add_post', 'controller' => 'posts'), array(
            'update' => '#successBox',
            'data' => $data,
            'async' => true,
            'dataExpression' => true,
            'method' => 'POST',
            'before' => $this->Js->get('#loader')->effect('show'),
            //'complete' => $this->Js->get('#loader')->effect('hide'),
                )
        )
);
echo $this->Js->writeBuffer();

不知道这里出了什么问题。当我在上面的代码中注释行'before' => $this->Js->get('#loader')->effect('show'),时,它工作得很好。

try:

'before'   => '$("img#loader").attr("style", " ")', 
'complete' => '$("img#loader").attr("style", "display:none")',