Javascript AH01215:格式错误的多部分POST:数据被截断
加载下面的脚本时,我在Apache错误日志中得到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; }
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本身。