2013-07-08 14 views
5

私のアプリケーション(A)は、AJAX(Fineuploaderライブラリ)によるファイルをサブドメイン(B)(物理的には他のサーバ)にアップロードする必要があります。 BのセットヘッダはA.からの要求は、コントローラのアクションのこのコードを参照してくださいできるようにする::Zend FrameworkのCrossdomain ajaxアクション

public function imageAction() 
{ 
    $this->_response->setHeader('Access-Control-Allow-Origin', 'http://' . Zend_Registry::get('config')->main_server->path); 
    $this->_response->setHeader('Access-Control-Allow-Headers', 'Content-Type, Content-Range, Content-Disposition, Content-Description'); 

    $this->_helper->json(array('test')); 
} 

をそれから私はA.要求からAJAXでこのアクションを呼び出すようにしようと、次のヘッダーを持っている何私の解決策であることは

Request URL:http://sub.domain.dev/upload/image 
Request Method:OPTIONS 
Status Code:403 Forbidden 
Accept:*/* 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 
Access-Control-Request-Headers:access-control-allow-origin, x-mime-type, origin, x-requested-with, cache-control, x-file-name, content-type 
Access-Control-Request-Method:POST 
Connection:keep-alive 
Host:sub.domain.dev 
Origin:http://domain.dev 
Referer:http://domain.dev 

私は間違っていますか?ありがとう。

P.S. 私はこれらのヘッダでリクエストを送信する場合:

Accept:application/json, text/javascript, */*; q=0.01 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 
Cache-Control:no-cache 
Connection:keep-alive 
Content-Length:0 
Host:sub.domain.dev 
Origin:http://domain.dev 
Pragma:no-cache 
Referer:http://domain.dev 

カントー私は、サーバーによってsendedでは、ヘッダーにその問題を考えます。

+0

クロスドメインajax? SOPについて聞いたことがありますか? – Robert

+0

これは役に立ちますか? http://stackoverflow.com/questions/13609296/zend-framework-2-ajax-request-from-other-server – Jon

+0

@Robert、確かに、クロスドメインのajax。多分あなたは私を助けることができますか?それが可能だ。しかし、私はこれらのヘッダーとの戦いがあります。 – pltvs

答えて

関連する問題