我对 jQuery 完全一窍不通,迫不及待地想让它工作。
这是 html:
<form method="post" enctype="multipart/form-data">
<input id="pic "type="file" name="file" onchange="javascript:this.form.submit();">
</form>
jQuery:
$("#pic").change(function() {
var file_data = $('#pic').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data)
alert(form_data);
$.ajax({
url: 'doupload.php',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(dat){
alert('it works maybe');
}
});
});
所以我只想将文件发送到 doupload.php 并用 ( $_FILES['file']['tmp_name']
) 捕获它
但它不工作 (ofc) 而且我没有找到任何工作谷歌或堆栈...
我用这个图书馆:<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
最佳答案
<input id="pic "type="file" name="file" onchange="javascript:this.form.submit();">
你有 "type="file"
将其更改为 type="file"
此外,如果您通过 "$("#pic").change(function() {
发送更改时的 ajax,那么您不应该使用 onchange="javascript:this .form.submit();"
,因为它会在 ajax 仍在发送时提交表单,从而导致可能的计时问题(例如 ajax 调用未完成)
据我所知,您根本不应该有提交事件,因为数据已经通过 ajax 调用提交。
关于php - 简单的 jQuery AJAX 文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26622314/