"Ошибка 0" при загрузке динамических элементов формы в drupal 6, когда в поле загрузки выбран файл

У меня есть пользовательская форма, реализованная в пользовательском модуле в drupal 6. Форма содержит поле загрузки, текстовое поле и выпадающий список. Когда выпадающий список запускает событие изменения, два текстовых поля загружаются динамически под выпадающим списком через друпал AHAH. Это в основном основано на: http://drupal.org/node/331941 Форма работает правильно.

Тем не менее, если мне удается найти файл в поле загрузки, а затем изменить раскрывающийся список, я получаю неприятную ошибку http 0. Примечание: я не отправляю форму. Я просто выбираю файл для загрузки, а затем меняю раскрывающийся список, чтобы запустить событие изменения. Эта проблема очень похожа на: http://drupal.org/node/399676 Однако решение, предоставленное в той же теме: http://drupal.org/node/399676 не работает для меня.

Я изменил вызов drupal_json на вызов drupal_get_js, как упомянуто в комментарии к решению выше, но я просто получаю предупреждение об ошибке, содержащее некоторый JSON.

Я считаю, что проблема связана с заголовками, установленными drupal_json, как показано в определении здесь: http://api.drupal.org/api/drupal/includes--common.inc/function/drupal_json/6

Любая помощь высоко ценится.

4 ответа

Решение

Это оказалось настолько распространенной проблемой, что я просто перешел на drupal 7 - обновил все свои пользовательские модули до 7.

Я посмотрел везде в Интернете и нашел много предложений, и ни одно из них не сработало. Если кто-то еще сталкивался с этой проблемой, я настоятельно рекомендую вам пойти по тому же пути и просто перейти на d7. F7-интерфейс d7 намного более устойчив, особенно когда речь идет о динамических формах на основе ajax.

Я столкнулся с этим в один момент. Есть куча потоков вокруг того, чтобы сказать, что это как-то связано с APC . Однако, что я исправил, это изменило индикатор прогресса на поле файла с "бара с индикатором прогресса" на "Throbber" в настройках поля файла

Я исправил свою проблему, используя этот "угнанный... код из модуля загрузки (включая комментарии)", созданный jleonard (at) drupal.org 4 апреля 2009 года в 21:24:

// send the updated file attachments form...  don't call drupal_json().
  // ahah.js uses an iframe and the header output by drupal_json() causes
  // problems in some browsers.
  print drupal_to_js ( array ( 'status' => TRUE, 'data' => $output ) );
  exit;

От ( http://drupal.org/node/399676)

Попробуйте редактировать /etc/apache2/mods-available/fcgid.conf,

Добавьте эту строку в конце:

MaxRequestLen 536870912

для 512 МБ или 1073741824 для 1 ГБ (значение в байтах). Если параметр уже установлен, подумайте об увеличении, пока ошибка не исчезнет.

Кроме того, не забудьте убедиться, что вы увеличили свой memory_limit > post_max_size > upload_max_filesize пределы в php.ini или же .htaccess в зависимости от того, где вы их устанавливаете.

Взято из этой публикации Drupal.

Другие вопросы по тегам