0

私はcakephp2.3でajaxを使用してデータベースに追加しようとしていますが、応答を設定する方法がわかりませんが、使用したであろう追加のデータをユーザーに提供します

$this->set()

通常のリクエストの場合、ビューファイル:

        echo $this->Form->create(); echo $this->Form->input('name');
    echo $this->Form->input('email');
    echo $this->Form->input('phone');
    echo $this->Form->input('message');
echo $this->Js->submit('Send Enquiry', array(
    'before' => $this->Js->get('#sending')->effect('fadeIn'),
    'success' => $this->Js->get('#sending')->effect('fadeOut'),
             'update' => '#success',
              'async' => true
               ));echo $this->Form->end();?>

コントローラの機能は次のとおりです。

public function add() {
    if ($this->request->is('post')) {
        $this->Contact->create();
        if ($this->Contact->save($this->request->data)) {

            if($this->request->isAjax()){
                $this->autoRender = false;  
                echo 'successful';
                }else{
            $this->Session->setFlash(__('The contact has been saved'));
            $this->redirect(array('action' => 'index'));
                }
        } else {
            $this->Session->setFlash(__('The contact could not be saved. Please, try again.'));
        }
    }
}
4

1 に答える 1

0

私の質問が間違って表現されていた場合は申し訳ありませんが、問題の解決策を見つけたので、以下のスニペットを使用して検証エラーを取得しました。

if($this->request->isAjax()){

        $this->autoRender = false;      
        if($this->Contact->validates()){

        }else{
        $error = implode($this->Contact->validationErrors;
        echo $error;


            }
        }

ありがとう

于 2013-03-11T09:15:37.797 に答える