FormData()缺少一些数据

时间:2017-04-07 08:01:08

标签: javascript jquery form-data

我有HTML表单(有用户图片和数据)我使用以下代码提交它。问题是,它有时提交所有数据和图片文件,但有时它会遗漏一些输入文本字段数据。例如,有时用户名不会在数据中提交。

$("button#btn-save").click(function(){
    fd = new FormData;
    $.each($('#user-form').serializeObject(), function(key, val){
        fd.append(key, val);
    });
    pic = $("input[name=pic]")[0].files[0];
    fd.append('pic', pic);

    $.ajax({
        url: 'employee/save-new-employee',
        type: 'post',
        dataType: 'json',
        processData: false, 
        contentType: false
        data: fd,
        success: function(data, status, xhr){
            //somecode
        }, 
        error: function(d){
            //errorhandling
        }
    });
});

这是serializeObject函数:

$.fn.serializeObject = function(){
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
}

0 个答案:

没有答案