jQuery上传文件使用jQuery的ajax方法(没有插件)

前端之家收集整理的这篇文章主要介绍了jQuery上传文件使用jQuery的ajax方法(没有插件)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
现在我想实现图片上传,而不使用任何插件.

我的上传表单看起来像这样

<form action="/Member/UploadPicture" enctype="multipart/form-data" id="uploadform" method="post">
            <span>
                <div class="upload" id="imgUpl">
                    <h3>Upload profile picture</h3>
                    <div class="clear5"></div>
                    <input  type="file" name="file" id="file"  />
                    <button class="btn-bl"  id="upComplete"><span>Upload</span></button>
                </div>

            </span>
            </form>

而我的jQuery代码是:

$('#upComplete').click(function () {
            $('#up').hide();
            $('#upRes').show();

            var form = $("#uploadform");

            $.ajax({
                type: "POST",url: "/Member/UploadPicture",data: form.serialize(),success: function (data) {
                    alert(data);
                }
            });

            $.fancybox.close();
            return false;
        });

如果我打开firebug,我可以看到ajax()方法做简单的表单(不是多部分),POST内容是空的

是否可以使用jQuery ajax()方法进行文件上传,还是以其他方式进行上传

非常感谢你

解决方法

jQuery ajax不支持文件上传并手动实现这一点可能很麻烦.我建议你看看jQuery form插件.

当然,你可以随时查看插件的源代码,看看如果你不想包含它,它是如何实现的(它使用一个隐藏的iFrame,因为文件不能用AJAX上传),但是为什么要这样做呢?它直接:-)

以下是您的代码可能如下所示的示例:

$(function() {
    $('#uploadform').ajaxForm();
});

也使上传按钮一个提交按钮:

<button class="btn-bl" id="upComplete" type="submit">
    <span>Upload</span>
</button>
原文链接:https://www.f2er.com/jquery/180348.html

猜你在找的jQuery相关文章