0

本当に私のコードは非常に単純で、問題なく ajax を何度も使用しました。しかし今、私はこれを持っています:

var dataForm=jQuery('form').serialize();
jQuery.post(  
        '/home/index/page/1', 
        dataForm,
        process_Results_Search 
        ); 

function process_Results_Search(response)
        {
                console.log('Im processing data');
                console.log(response);
        }

私のコントローラーでは、単純なエコーのみを作成します。

echo "im here";

しかし、私の回答は次のようなものです(最近のページの内容)。私はZENDを使用しています:


<!DOCTYPE HTML>
<html>
<head>

    ....

im here<!----------in the end of the response!!!---------------->
4

3 に答える 3

0

わかりました。修正しました。フォームでページをレンダリングするために使用していたのと同じビューに投稿を送信していました。だから私は再び同じビューをレンダリングしていました。リクエスト ajax を処理するために別のアクションを作成する必要がありました

于 2012-07-26T09:35:49.613 に答える
0

応答ビューでテンプレートを無効にすることを忘れないでください!

于 2012-07-26T13:53:41.590 に答える
0

必ずしも別のアクションを使用する必要はありません。私のコードには、AJAX 呼び出しと通常の呼び出し (ポップアップ ウィンドウなど) に基本的に同じコードを使用するページがいくつかあります。呼び出しが ajax かどうかを確認し、その場合はレイアウトとビューを無効にすることができます。

    if($this->getRequest()->isXmlHttpRequest()) {
        $this->_helper->layout()->disableLayout();
        $this->_helper->viewRenderer->setNoRender();
    }
于 2012-07-26T14:39:11.037 に答える