Javascript将输入文件传递给PHP

时间:2013-12-10 11:26:34

标签: javascript jquery ajax

我不想使用Javascript上传文件,我只想将Ajax文件传递给PHP文件,并在PHP中进行我想要的验证,并使用move_uploaded_file函数。有可能吗?

$('#the_button').on("click", function(){
    var image  = $('#image').val() == "" ? null : $('#image').files;

    $.ajax({        
        type: "POST",
        url: "insert.php?type=image",
        data: image,
        enctype: 'multipart/form-data',
        success: function(data) {
            alert(data);
        }
    }); 
}

这会返回' undefined'为#image。

$('#image').files[0]也会返回undefined。

$('#image')[0].files返回[object FileList] - >这是对的吗?

2 个答案:

答案 0 :(得分:0)

您无法通过AJAX上传文件。 通常的方法是将表单的目标设置为隐藏的 iframe 。 这样的事情。

<form target="myHiddenIframe" method="post" enctype="multipart/form-data">
    //your form elements here. 
</form>
<iframe name="myHiddenIframe" id="myHiddenIframe" style="display: none;" />

提交表单以达到您想要的效果。

答案 1 :(得分:0)

试试这个插件

http://blueimp.github.io/jQuery-File-Upload/

$('#fileupload').fileupload({
    dataType: 'json',
    done: function (e, data) {
        $.each(data.result.files, function (index, file) {
            $('<p/>').text(file.name).appendTo(document.body);
        });
    }
});