上传文件时出现JQuery错误
JQuery error when uploading file
我想用HTML, JavaScript和PHP上传一个文件到web服务器。
我的HTML是这样的:
<form method="post" enctype="multipart/form-data" name="uploadForm">
<input type="file" name="uploadFile" onchange="uploadplz();">
<!-- <input type="submit" name="upload_submit" value="Upload"> -->
</form>
提交按钮被注释掉了,因为我只能使用一个按钮来上传和提交文件。我有一个调用JavaScript函数的onchange
属性。然后,JavaScript函数使用AJAX调用调用PHP函数。
我的JavaScript/AJAX是这样的:
<script type="text/javascript">
function uploadplz() {
$.ajax({
type: "POST",
url: "file.php",
data: "uploadForm",
success: function(response) {
alert(response);
}
});
}
</script>
PHP的isset是这样的:
if(isset($_POST["uploadForm"])) {
upload_file();
}
PHP函数如下:
function upload_file() {
$dir = "files/";
$target_file = $dir.basename($_FILES["uploadFile"]["name"]);
echo $target_file."</br>";
if(move_uploaded_file($_FILES["uploadFile"]["tmp_name"], $target_file)) {
echo $target_file." uploaded successfully.</br>";
} else {
echo "Error uploading</br>";
}
}
当使用2个按钮,PHP工作良好,即上传文件。我假设我的AJAX是错误的,当试图使用一个按钮。PHP函数返回Error uploading
消息和一个空白文件名。
有什么建议吗?
您只上传字符串"uploadForm"
,不上传File
对象。使用FormData()
上传<form>
,参见jQuery Ajax文件上传
function uploadplz() {
$.ajax({
type: "POST",
url: "file.php",
data: new FormData(document.querySelector("form")),
processData: false,
contentType: false,
success: function(response) {
alert(response);
}
});
}
相关文章:
- 将菜单项与滚动绑定时出现Jquery错误
- 试图获取表单时出现Jquery错误
- 任何人都知道IE7设置或更新/补丁,它可以防止IE因为jquery错误而无法加载页面
- 组中需要Jquery错误位置
- IE9中的Jquery错误
- 使用下拉菜单排除jquery错误
- 在文本区域检查电子邮件数据时出现奇怪的jquery错误
- 扩展对象导致jQuery错误
- 一个经典的jQuery错误 - 未捕获的类型错误:未定义不是一个函数
- 使用ng-include时发生Angular.js jQuery错误
- JQuery 错误 -- 减慢在浏览器中查看错误的操作速度
- 在页面上获取网格数据之前出现 jQuery 错误
- 如何修复我的 JQuery 错误
- jQuery 错误 SCRIPT5002:IE9 64 位中预期的函数
- jQuery错误地导致悬停
- 未定义获取 jquery 错误 $
- 将 jQuery 错误处理添加到列表、网格内的 JSF 页面上的所有图像
- 未捕获的错误:信号器 jquery 错误
- JQuery 错误的脚本顺序
- 当展开点击 li 的 ul 事件时,JS JQUERY 错误不起作用