简单的jQuery AJAX文件上传

时间:2014-10-29 03:27:33

标签: php jquery file-upload

我在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>

1 个答案:

答案 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调用提交。