gpt4 book ai didi

javascript - Ajax请求成功但收到的responseText为空?

转载 作者:行者123 更新时间:2023-11-29 22:04:01 25 4
gpt4 key购买 nike

我正在发出 Ajax 请求来更新 Mysql 表。当我成功上传 pdf 文件时,表中的文件名和文件路径会相应更新。我遇到的问题是这样的。当我上传一个小文件(414kb)时,上传成功,我可以更新我的记录。当文件很大(3.6Mb)时,上传显示成功,但我从 Ajax 请求获得的响应文本是空白。我使用 IF/ELSE 语句处理 php 端,因此不应该有“空白”响应。我实在不明白问题出在哪里。请参阅下面的代码。

我的“upload_max_filesize”是 32M。

JS:

 function completeHandler(event){
document.getElementById('p_status').style.color = '#19A347';

if(xmlhttp_file.readyState == 4 && xmlhttp_file.status == 200){
if(xmlhttp_file.responseText == 'update_success'){
console.log('congratulations. Success');
}else{
console.log('fail!');
console.log('responsText: '+xmlhttp_file.responseText);
console.log('xmlhttp_file.readyState: '+ xmlhttp_file.readyState);
console.log('xmlhttp_file.status: '+ xmlhttp_file.status);

}
}
}

PHP:

 $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';
}

上传大型 pdf 时 - 控制台:

    fail!
new_home.js:1473 responsText:
new_home.js:1474 xmlhttp_file.readyState: 4
new_home.js:1475 xmlhttp_file.status: 200

最佳答案

PHP 自动限制文件大小,仅上传特定大小的文件。您似乎没有检查文件大小是否等于或小于允许的最大文件大小。默认值为 2 MB,您必须更改它才能上传更多。

PHP change the maximum upload file size

关于javascript - Ajax请求成功但收到的responseText为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32339234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com