在drupal 6中加载动态表单元素时,当上载字段选择了文件时,“Http error 0”

时间:2012-01-24 18:33:19

标签: drupal ahah

我在drupal 6中的自定义模块中实现了自定义表单。 表单包含上传字段,文本字段和选择下拉列表。 当下拉列表触发更改事件时,将通过drupal AHAH在下拉列表下方动态加载两个文本字段。 这主要基于:http://drupal.org/node/331941 表单正常运行。

但是,如果我碰巧从上传字段浏览到一个文件然后更改下拉列表,我会收到令人讨厌的'http 0错误'。注意:我没有提交表格。我只是选择要上传的文件,然后更改下拉列表以触发更改事件。 这个问题很像:http://drupal.org/node/399676 但是,同一个帖子中提供的解决方案:http://drupal.org/node/399676#comment-1438662对我不起作用。

我将drupal_json调用更改为drupal_get_js调用,如上面的解决方案评论中所述,但我只是得到一个包含一些JSON的错误警告。

我认为问题与drupal_json设置的标头有关,如下面的定义所示:http://api.drupal.org/api/drupal/includes--common.inc/function/drupal_json/6

任何帮助都非常感激。

4 个答案:

答案 0 :(得分:0)

我曾经遇到过这个问题。有很多线程说它与APC有关。但是对于我来说修复它的是将文件字段中的进度指示器从“bar with progress meter”更改为“Throbber”在文件字段设置下

答案 1 :(得分:0)

事实证明这是一个普遍存在的问题,我只是转向了drupal 7 - 将我的所有自定义模块升级到7。

我在网上到处看,发现了许多建议,但没有一个有效。 如果其他人遇到过这个问题,我强烈建议你走同样的道路,然后升级到d7。 d7 FAPI非常强大,特别是在基于ajax的动态形式方面。

答案 2 :(得分:0)

尝试修改/etc/apache2/mods-available/fcgid.conf

在最后添加此行:

MaxRequestLen 536870912

表示512MB或1073741824表示1GB(该值以字节为单位)。如果参数已设置,请考虑增加,直到错误消失为止。

此外,请不要忘记确保增加了memory_limit> post_max_size> upload_max_filesizephp.ini限制.htaccess,具体取决于您设置这些内容的位置。

取自this Drupal posting

答案 3 :(得分:0)

我在2009年4月4日下午9:24由jleonard(at)drupal.org使用这个“上传模块中的劫持代码(包括评论)”解决了我的问题:

// 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#comment-1438662