2013-04-19 2 views
0

을 내 케이크 앱에 문제가 있음을했습니다케이크 앱은 원격 서버에서 작동하지 않습니다 :(

내 액션 코드는 다음과 같은된다.

public function event($year, $month) { 
     if($this->RequestHandler->isAjax()) 
      return new CakeResponse(array('body'=> json_encode($this->Event->getMessages($year, $month)))); 
     else 
      $this->set('event', $this->Event->getMessages($year, $month)); 
} 

또한 내가 두 번째를했습니다

public function tester(){} 

및 관련보기 (tester.ctp)

<div id="result"></div> 
<script>  
    (function($) { 
     $(document).ready(function(){ 
      var url = '<?php echo Router::url(array('controller' => 'events', 'action' => 'event', '2013', '4'));?>'; 
      $.get(url, function(data){ 
       data = $.parseJSON(data); 
       for(var i = 0; i < data.length; i++) 
        $('#result').append(data[i].date + ' ' + data[i].message + '<br />'); 
      }); 
     }); 
    })(jQuery); 
</script> 
: 빈 방법이다 액션,3210

문제는 다음과 같습니다. 내 응용 프로그램은 내 로컬 서버에서 완벽하게 작동하지만 리모컨에서는 작동하지 않습니다. 필자가 순수 PHP로 작성된 일부 컨트롤러에서 Cake를 바꿀 때 문제가 존재하지 않으며 모든 것이 로컬 서버와 원격 서버에서 완벽하게 작동한다는 것이 좌절감입니다. 도움을

감사합니다 :)

+0

'작동하지 않음'은 무엇을 의미합니까 ?? 오류가 있습니까? –

+0

콜백 함수의 변수 데이터가 비어 있기 때문에 my (js) 스크립트가 결과를 표시 할 수 없다는 것을 의미합니다. – nilpotent

+0

나는 어떤 오류가 있지만 $ .ajax.error 콜백 함수의 response.responseText 값에 서버의 데이터가 들어 있습니다. 그게 어떻게 가능해? 존재하지 않는 오류가있는 이유는 무엇입니까? – nilpotent

답변

0

수동 CakePHP의에서 _serialize 좀보고 할 수 있습니다 http://book.cakephp.org/2.0/en/views/json-and-xml-views.html

당신은 사용하여 /events/event/2013/4.json하는 요청을 보낼 수

_serialize json 객체를 다시 검색하려면 Router :: parseExtensions ('json');을 추가해야합니다. 경로 파일에 추가하십시오.

public function event($year, $month) { 
    $this->set('event', $this->Event->getMessages($year, $month)); 
    $this->set('_serialize', array('event')); 
} 

이렇게하면 아약스인지 여부를 감지 할 필요가 없습니다.

관련 문제