function chkFile(file1) {
var file = file1.files[0];
var formData = new FormData();
formData.append('formData', file);
$.ajax({
type: "POST",
url: "chkFileType.php",
contentType: false,
processData: false,
data: formData,
success: function (data) {
alert(data);
}
});
}
<form action="" method="post" name="myForm" id="myForm" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Upload Files
<input type="file" name="uploadFile" id="uploadFile" onChange="chkFile(this)"/>
<input type="submit" name="submitbutt" value="Checkout">
chkFileType.php
<?php
print_r($_FILE)
?>
我想创建一个表单,当用户上传文件时,它会在提交整个表单之前检查上传的文件。我在上传文件时使用onChange
,然后将formData
值传递给Ajax以调用我的chkFileType.php
进行检查并提醒响应。
该函数正在运行,没有任何错误,但没有来自alert(data)
;
我知道我做错了什么,但不知道从哪个方向走。我做得对吗?
答案 0 :(得分:2)
一切都很好看。你做得对了。但是要从ajax调用中获得任何响应,您必须在chkFileType.php
中打印所需的内容。
像,
if($ext =="jpg" || $ext == "png"){
echo "Image"; // data in alert will alert as Image
} else if(check for txt file){
echo "Text File"; // data in alert will alert as Text File
} else if(chck for pdf) {
echo "Pdf";// data in alert will alert as Pdf
}
修改强> 改变这个
var formData = new FormData( $("#formID")[0] );
希望你明白我的意思。