2014-12-19 2 views
0
내가 CakePHP의 V 2.5.x의를 사용하고

... 나는 HTML보기 또는 JSON과 함께 대응할 수있는 컨트롤러 액션을 쓰기 위해 노력하고 있어요CakePHP의는 :. _serialize는 JSON 응답

를 생성하지. 어떤 이유로 든 내가 시도한 것에 상관없이 응답은 마크 업이 아닌 HTML 페이지입니다.

routes.php에 있습니다

Router::parseExtensions('json'); 

이 내 컨트롤러 액션입니다 :

public function login() { 
    $this->set('foo', 'bar'); 
    $this->set('_serialize', array('foo')); 
} 

이는 /users/login보기에 대한 HTML ... 아니 JSON 응답을 반환합니다.

.json 확장자로 작동하는 다른 동작이 있기 때문에 매우 혼란 스럽습니다. 내가 뭘 놓치고 있니?

해결!

덕분에 내 구성 요소에 RequestHandler을 포함하는 것을 잊었습니다.

+0

요청 처리기 구성 요소는 어디에 포함합니까? 또한 액션 (URL 현명한)을 어떻게 불러내나요? – ndm

+0

@ndm 여기! Urggg ... 정말 고마워요! 동의 할 수 있도록 답변을 제출하십시오. – emersonthis

답변

0

의 앱/구성은/routes.php 추가 ...

Router::parseExtensions(); 

기억해야 할 한 가지 중요한 점은 위의 코드의 조각

require CAKE . 'Config' . DS . 'routes.php'; 

다음 이동이 행하기 전에 정의해야한다는 것입니다 귀하의 컨트롤러에 & RequestHandler 구성 요소를 추가하십시오.

public $components = array('RequestHandler'); 

그것을 지금의

enter image description here 처럼 /users/login 될 것 같습니다.