它正在工作,但在每次提交时我都会收到一个数组,即使文件甚至没有添加到文件输入(多文件输入)
postData = new FormData(this);
$.ajax({
url: "/url",
type: "POST",
data: postData,
cache: false,
contentType: false,
processData: false,
success: function (data, textStatus, jqXHR) {
if (data === "true") {
window.location.replace("/url");
} else {
$(".errors").html(data);
}
},
error: function (jqXHR, textStatus, errorThrown) {
swal("Der opstod en fejl");
}
});
我从 $_FILES 得到的内容如下
Array
(
[files] => Array
(
[name] => Array
(
[0] =>
)
[type] => Array
(
[0] =>
)
[tmp_name] => Array
(
[0] =>
)
[error] => Array
(
[0] => 4
)
[size] => Array
(
[0] => 0
)
)
)
有什么办法可以避免这种情况发生吗?
最佳答案
尝试将 required
属性添加到 input type="file"
元素,以防止在用户未选择文件的情况下提交form
$("form").on("submit", function(e) {
e.preventDefault();
// do `$.ajax()` stuff
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<form>
<input type="file" name="files[]" multiple required />
<input type="submit" />
</form>
关于javascript - jQuery Ajax 上传文件 php 即使没有内容也会接收数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35045205/