大家好日子,
我正在尝试获取正在上传的文件的名称/位置/大小。但似乎每次我在控制台中查看它都不会显示任何内容。但是我在这里跟踪了所有内容http://www.w3schools.com/php/php_file_upload.asp
的index.php
<form id="formAction" method="POST" action="add_item.php" enctype="multipart/form-data" >
<input id="loc" type="file" name="file" />
<input type="submit" name="submit" value="Add" />
</form>
的javascript
$("form#formAction").on("submit", function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "add_item.php",
data: $(this).serialize(),
success: function (data) {
console.log(data);
},
error: function() {
alert('Some fields are empty.');
}
});
});
add_item.php
// fetching data
echo $_FILES['file']['tmp_name'];
似乎缺少什么?任何帮助将非常感激。谢谢!
答案 0 :(得分:1)
实际上有两个问题:
首先,您错过了表单上的enctype
属性。这是普通表单提交(没有ajax)所必需的:
<form id="formAction" method="POST" action="add_item.php" enctype="multipart/form-data">
其次,jquery的原生$.ajax
不支持文件上传,但您可以使用插件管理,例如http://jquery.malsup.com/form/#file-upload。