2012-06-07 3 views
3

컨트롤러에 대한 내 뷰 중 하나에서 Ajax 요청을하고 있지만 Ajax 메서드에 대한 응답을 되돌릴 수 없습니다. 아래 스 니펫에서는 'hellopanda'라는 단어를 다시 보내려고하지만 경고 메시지에서 데이터를 객체로 가져옵니다.젠드 프레임 워크 컨트롤러에서 Ajax 응답 얻기

보기 :

$.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"; 

} 

나는 에코가 문제입니다 확신 해요. 보기에 대한 적절한 응답을하는 방법에 대한 통찰력은 크게 감사하겠습니다.

답변

5

귀하의 URL이 "localhost/some-activity" 변화는 당신의 행동에 "localhost/someactivity"

public function someactivityAction(){ 

//do stuff 

echo "hellopanda"; 

exit; 

} 

당신이

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

같은 인코딩 있는지 확인하고 아약스이

처럼 될 것이다 배열을 반환하려는 경우
$.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(){ 

      } 
});