Javascript Ajax请求成功,但收到的responseText为空?
我正在发出一个Ajax请求来更新Mysql表。当我成功上传pdf文件时,表中的文件名和文件路径会相应地更新。我遇到的问题是这个。当我上传一个小文件(414kb)时,上传成功,我可以更新我的记录。当文件较大(3.6Mb)时,上载看起来成功,但从Ajax请求中获得的responseText为空。我使用IF/ELSE语句处理php端,因此不应该有“空白”响应。 我真的不明白问题出在哪里。请参阅下面的代码 我的“上传最大文件大小”是32M JS: PHP: 上载大型pdf时-控制台:Javascript Ajax请求成功,但收到的responseText为空?,javascript,php,mysql,ajax,Javascript,Php,Mysql,Ajax,我正在发出一个Ajax请求来更新Mysql表。当我成功上传pdf文件时,表中的文件名和文件路径会相应地更新。我遇到的问题是这个。当我上传一个小文件(414kb)时,上传成功,我可以更新我的记录。当文件较大(3.6Mb)时,上载看起来成功,但从Ajax请求中获得的responseText为空。我使用IF/ELSE语句处理php端,因此不应该有“空白”响应。 我真的不明白问题出在哪里。请参阅下面的代码 我的“上传最大文件大小”是32M JS: PHP: 上载大型pdf时-控制台: fail!
fail!
new_home.js:1473 responsText:
new_home.js:1474 xmlhttp_file.readyState: 4
new_home.js:1475 xmlhttp_file.status: 200
PHP自动限制文件大小,只上传特定大小的文件。看起来您没有检查文件大小是否等于或小于允许的最大文件大小。默认值为2MB,您必须更改它才能上载更多内容
您应该对
$\u文件
或移动上传的\u文件
进行错误调试,以准确获取发生的情况(尽管您可能会遇到最大文件大小
配置,因为如果在较大的文件大小上得到不同的结果,这是第一个直觉)
通过签入$\u文件['filename']['error']
您必须正确调试请求。您的服务器可能出错。检查php.ini中
upload\u max\u filesize
、post\u max\u size
、max\u execution\u time
和max\u input\u time
等的大小。默认情况下,这些值可能设置得太低,不适合您尝试执行的操作……您可能会遇到其他错误情况。请读。
$move_success = move_uploaded_file($file_TmpPath, "$pdf_dir/$file");
if($move_success){
// ESCAPE CHARACTERS BEFORE INSERTION INTO _DB
// INSERT 'filename', 'filename_uniq', 'filepath'
$file_name = $mysqli->real_escape_string($file_name);
$file_id = $mysqli->real_escape_string($file_id);
$file = $mysqli->real_escape_string($file);
$filepath = $mysqli->real_escape_string("$pdf_dir/$file");
$sql = "UPDATE pdf_library SET filename='$file_name', filename_uniq='$file_id', filepath='$filepath' WHERE id='$idOfPost'";
$result = $mysqli -> query($sql);
if($result){
echo 'update_success';
}else{
echo 'update_fail';
}
}else{
echo 'move fail';
}
fail!
new_home.js:1473 responsText:
new_home.js:1474 xmlhttp_file.readyState: 4
new_home.js:1475 xmlhttp_file.status: 200