加载以下脚本时,Apache错误日志中出现AH01215: Malformed multipart POST: data truncated
错误。
我需要通过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>
~;
请注意,将jQuery升级到较新版本似乎无法解决问题。