我在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)而且我找不到任何有效的谷歌或堆栈......
我使用这个lilbary:<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
答案 0 :(得分:1)
<input id="pic "type="file" name="file" onchange="javascript:this.form.submit();">
你有“type =”文件“
将其更改为type =“file”
此外,如果您通过"$("#pic").change(function() {
发送更改的ajax,那么您也不应该有onchange="javascript:this.form.submit();"
,因为它会在ajax仍在发送时提交表单,从而导致可能的时间问题(例如ajax呼叫未完成)
据我所知,您根本不应该有提交事件,因为数据已经通过ajax调用提交。