Междоменное действие ajax в Zend Framework

5

Моему приложению (A) необходимо загрузить файлы AJAX (библиотека Fineuploader) в мой поддомен (B) (физически другой сервер).

Каково мое решение: установите заголовки на B, чтобы разрешить запросы от A. См. этот код действия контроллера:

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'));
}

Затем я пытаюсь вызвать это действие с помощью ajax из A. Запрос имеет следующие заголовки:

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

Мне кажется, что проблема в заголовках, отложенных сервером.

  • 0
    междоменный ajax? Вы слышали о СОП?
  • 0
    Это помогает? stackoverflow.com/questions/13609296/...
Показать ещё 8 комментариев
Теги:
cross-domain

1 ответ

0

Вы пытались использовать этот плагин jquery jQuery-File-Upload?

Страница документа о междоменных загрузках.

  • 0
    Я использую Fineuploader. Но не важно. Я думаю, что проблема в заголовках.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню