写个简易的jQuery文件上传扩展

直接上代码:

/*
*jquery.ajaxUpload.js
*/
jQuery.extend({
    ajaxFileUpload: function(s) {
        s = jQuery.extend({}, jQuery.ajaxSettings, s);
        s.type = "POST";
        var f = new FormData();
        for (var k in s.data) {
            f.append(k, s.data[k]);
        }
        if (s.fileElementId) {
            if (!jQuery("#" + s.fileElementId).attr("multiple")) {
                f.append(s.fileElementId, jQuery("#" + s.fileElementId).get(0).files[0]);
            } else {
                var fs = jQuery("#" + s.fileElementId).get(0).files;
                for (var i = 0; i < fs.length; i++) {
                    f.append(s.fileElementId + "[]", fs[i]);
                }
            }
        }
        s.processData = s.contentType = false;
        s.data = f;
        jQuery.ajax(s);
    }
});

使用说明:脚本原理是在使用$.ajax前对数据进行处理使用方法跟$.ajax一样.就是多了fileElementId 属性用来标识input type="file" 节点的id。

你可能感兴趣的:(写个简易的jQuery文件上传扩展)