我在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
任何帮助都非常感激。
答案 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_filesize
或php.ini
限制.htaccess
,具体取决于您设置这些内容的位置。
答案 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;