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;
}
인증 된 컨트롤러의 코드를 표시 할 수 있습니까? (특히 옵션 동작 주위에이 방법이없는 것 같습니다) –
옵션 작업이 없습니다. 나는 방금 하나 추가, 나는 게시물을 업데이 트됩니다. 그것은 응답을 변경하지 않았습니다. –