Javascript AH01215:格式错误的多部分POST:数据被截断

Javascript AH01215:格式错误的多部分POST:数据被截断,javascript,jquery,ajax,perl,Javascript,Jquery,Ajax,Perl,加载下面的脚本时,我在Apache错误日志中得到AH01215:格式错误的多部分POST:数据被截断错误 我需要通过AJAX传递文件,所以我使用FormData(为了简单起见,下面的脚本中没有文件字段) 错误是什么 #!/usr/bin/perl use strict; use warnings; use CGI qw/:standard/; if(param('ajax')) { print header('text/plain'); print "YY"; exit; }

加载下面的脚本时,我在Apache错误日志中得到
AH01215:格式错误的多部分POST:数据被截断
错误

我需要通过AJAX传递文件,所以我使用
FormData
(为了简单起见,下面的脚本中没有文件字段)

错误是什么

#!/usr/bin/perl

use strict;
use warnings;

use CGI qw/:standard/;

if(param('ajax')) {
  print header('text/plain');
  print "YY";
  exit;
}

print header('text/html');
print q~
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
  <script>
  $.ajax({
    url: '', 
    type: 'POST',
    data: new FormData($('#form')[0]),
    processData: false,
    contentType: false // Using FormData, no need to process data.
  }).done(function(data){
    alert(data);
  });
  </script>
</head>
<body>

<form id="#form" enctype="multipart/form-data">
<input type="hidden" name="ajax" value="1"/>
</form>

</body>
</html>
~;
#/usr/bin/perl
严格使用;
使用警告;
使用CGI qw/:标准/;
if(param('ajax')){
打印标题(“文本/普通”);
打印“YY”;
出口
}
打印标题('text/html');
打印q~
$.ajax({
url:“”,
键入:“POST”,
数据:新FormData($('#form')[0]),
processData:false,
contentType:false//使用FormData,无需处理数据。
}).完成(功能(数据){
警报(数据);
});
~;

请注意,将jQuery升级到较新版本似乎并不能解决问题。

代码是从将
放在
底部或使用
$(document.ready()
复制过来的,但做了一些小改动。您试图在表单加载到DOM之前读取表单字段。@Barmar Done,无法使用开发人员工具的“网络”选项卡查看您发送的参数。
id=“#form”
应为
id=“form”
#
只是选择器的一部分,而不是ID本身。