2014-11-26 2 views
1

Zend 1.11.6에서 수행 된 이전 프로젝트에서 CORS (Cross Origin Resource Sharing)를 사용하려고하는데이 문제는 초기 비행 테스트 OPTIONS 요청시 발생하는 예외 인 것 같습니다. .Zend 1.11.6에서 HTTP OPTIONS 메소드 허용

헤더 :

Access-Control-Allow-Headers: origin, x-requested-with, content-type 
Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS 
Access-Control-Allow-Origin: * 
Content-Type: application/json 
Date: Wed, 26 Nov 2014 00:38:47 GMT 
Server: Apache 
Transfer-Encoding: chunked 
X-Cnection: close 

BODY : 나는 library/Zend/Controller/Action.php.Zend_Controller_Action.__call()에 오류 메시지를 추적

{ 
    "success": false, 
    "data": "Exception", 
    "message": "Method \"optionsaction\" does not exist and was not trapped in __call()", 
    "request": "/authenticate", 
    "version": "v1", 
    "parameters": { 
    "controller": "authenticate", 
    "action": "options", 
    "module": "default" 
    } 
} 

내 질문은 여기에서 HTTP OPTIONS 요청에 대한 전체 respone입니다 :이 요청을 허용하기 위해 프레임 워크를 수정할 수있는 적절한 위치는 어디입니까? 컨트롤러 기반 또는 프로젝트별로 컨트롤러에서이 작업을 수행하는 것이 좋습니다.

다음
Header add Access-Control-Allow-Origin "*" 
Header add Access-Control-Allow-Headers "origin" 
Header add Access-Control-Allow-Headers "x-requested-with" 
Header add Access-Control-Allow-Headers "content-type" 
Header add Access-Control-Allow-Methods "PUT" 
Header add Access-Control-Allow-Methods "GET" 
Header add Access-Control-Allow-Methods "POST" 
Header add Access-Control-Allow-Methods "DELETE" 
Header add Access-Control-Allow-Methods "OPTIONS" 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

내 인증합니다 컨트롤러 옵션 지침 : :

또한, 나는 아래에 붙여 넣은있는 .htaccess를 통해 CORS를 활성화

public function optionsAction() 
{ 
    $this->view->data = Array(); 
    $this->view->success = true; 
} 
+0

인증 된 컨트롤러의 코드를 표시 할 수 있습니까? (특히 옵션 동작 주위에이 방법이없는 것 같습니다) –

+0

옵션 작업이 없습니다. 나는 방금 하나 추가, 나는 게시물을 업데이 트됩니다. 그것은 응답을 변경하지 않았습니다. –

답변

0

가 Zend_Rest_Route에서 보라 :: 일치()을 OPTIONS 메소드를 컨트롤러의 optionsAction()에 매핑하도록 가르치고/확장해야합니다.

관련 문제