2014-08-28 4 views
0

Я работаю над Zend Framework, версия 1.11, и у меня возникла следующая проблема:
После отправки формы браузер получает «Нет данных: невозможно загрузить веб-страницу, потому что сервер отправлен нет данных." (на хром) и «Соединение с сервером было сброшено во время загрузки страницы». на firefox.
Теперь, возможно, что-то связано с моей машиной, так как я не смог воспроизвести ошибку на других машинах с аналогичной конфигурацией, кроме версии сервера (я обновил до apache 2.4.7, а остальные - apache 2.2). не
Теперь код запроса проходит через это:Zend Framework - нет данных

$form = new Website_Form_ArtUpload(); 
     if ($this->getRequest()->isPost()) 
     { 
      $response = $this->_getService()->upload($this->getRequest()->getPost()); 
      My_Logger::log(print_r($response)); 
      if (!$response->isValid()) { 
       if($response->getData() instanceof Zend_Form) { 
        $form = $response->getData(); 
       } 
       if($response->hasMessages()) { 
        My_Logger::log(print_r($response->getAllMessages())); 
        $this->view->messages = $response->getAllMessages(); 
       } 
      } else { 
       $this->_helper->redirector->gotoSimple('new', 'product', 'website'); 
       return; 
      } 
     } 

содержание $ этого -> _ GetService() -> загрузить()

// Validate the form 
    $form = new Website_Form_ArtUpload(); 
    if (!$form->isValid($data)) 
     return new My_Service_Response(
      My_Service_Response::FAILURE, 
      $form, 
      array(My_Model_Message::MESSAGE_TYPE_ERROR => $this->getTranslator()->_('The product cannot be uploaded')) 
     ); //here it halts 

Так, на этот раз, у меня нет идея, почему данные не должны быть действительными, так как все в порядке с ним. Но предположим, что данные действительно недействительны, так как ответ является сбойным, и есть сообщения ($this->view->messages = $response->getAllMessages() записывает сообщение), я не понимаю, почему есть не просто хорошая ошибка, говорящая: «продукт не может быть загружен».

Если вам нужны какие-либо другие фрагменты кода или любые журналы, я рад предоставить их.

Примечания: другие формы с ошибками возвращают сообщения должным образом. Пожалуйста, не говорите мне, что у нас должна быть одна и та же версия сервера, я знаю это, но если когда-нибудь в будущем мы захотим перейти на 2.4, мы предпочли бы, чтобы это уже было решено.

ответ

0

Это связано с проверки изображения MIME тип, размер файла и т.д. ..

if (!$form->isValid($data)) { 
... 
} 

Эта проблема исправлена ​​в последнем Zend Framework 1.12.9 вы можете просто скачать последнюю версию с https://packages.zendframework.com/releases/ZendFramework-1.12.9/ZendFramework-1.12.9.zip

, если вам не нужно обновлять полную базу, просто замените все файлы из «библиотеки -> Zend -> Validate -> Файл» с последними файлами из ZendFramework-1.12.9

Убедитесь, что вы проверили все страницы после обновления.