php - 简单的 jQuery AJAX 文件上传

标签 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) 而且我没有找到任何工作谷歌或堆栈...

我用这个图书馆:<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/

相关文章:

php - 在 PHP 中使用文本为图像添加水印

php - 如何将未知数量的php数组值相互相乘?

javascript - 我如何检查数据库中已有的名字并给出错误消息?

javascript - Userscript - 在执行之前替换另一个 Javascript?

ruby-on-rails - 无法使用 Rails 中的 Fog 将照片上传到 S3 : !! #<Excon::Errors::SocketError: 错误地址>

Flash 照片上传 - 从网络摄像头拍摄照片

php - 自定义 DomPDF 名称

jquery - .remove() 不删除所有内容

javascript - 如何从node js post ajax请求中读取数据?

c# - 需要上传文件,并在 pre-init 事件中使用它