3

ビューの 1 つでコントローラーに対して Ajax 要求を実行していますが、Ajax メソッドに応答を返すことができません。以下のスニペットでは、'hellopanda' という単語を送り返そうとしていますが、アラート メッセージではデータをオブジェクトとして取得します。

意見 :

$.ajax({  

      type: "POST",  
      url: "localhost/some-activity",
      data: dataString, 
      success: function(data) { 
              alert( "Data is: " + data);
          //do something with data
      },
      error: function(data){
               alert( "Data is: " + data);
        //do something with data 
          },
      onComplete: function(){

          }
    });

コントローラ:

 public function someActivityAction(){

   //do stuff

   echo "hellopanda";

 }

エコーが問題だと確信しています。ビューに対して適切な応答を行う方法についての洞察をいただければ幸いです。

4

1 に答える 1

7

あなたのURLは あなたの行動で"localhost/some-activity"それを変更します"localhost/someactivity"

public function someactivityAction(){

//do stuff

echo "hellopanda";

exit;

}

配列を返したい場合は、次のようにエンコードしてください

echo $this->_helper->json($yourarray);exit;

あなたのajaxはこのようになります

$.ajax({  

      type: "POST",  
      url: "localhost/someactivity",
      data: dataString, 
      dataType: 'json', //if you are returning array
      success: function(data) { 
           for(int i=0;i<data.length;i++){
                 alert(data[i]['yourindexofarray']);
              }
      },
      error: function(data){
               alert( "Data is: " + data);
        //do something with data 
          },
      onComplete: function(){

          }
});
于 2012-06-07T05:10:38.497 に答える