相关疑难解决方法(0)

jQuery AJAX'multipart/form-data'不发送数据?

我不知道为什么我不能让jQuery传递上传数据,因为AJAX对象似乎配置正确,并且正在发送正确的Content-Type/MIME-Type标头.

我尝试了两种不同形式的请求 - 一种是在文字中包含FormData对象,另一种是直接传递FormData对象.

不幸的是,无论哪种方式我都无法通过,$ _FILES和$ _POST都是空数组.

我想要使​​用的理想要求如下:

在此输入图像描述

以下代码:

var files = new FormData();

$.each(context.prototype.fileData, function(i, obj) { files.append(i, obj.value.files[0]); });

var request = { action: 'upload', id: response.obj.id, data: files };

$.ajax({

    type        : 'POST',
    url         : context.controller,
    data        : request,
    processData : false,
    contentType : 'multipart/form-data',
    mimeType    : 'multipart/form-data',

    success     : function(r) {
        console.log(r);
        //if (errors != null) { } else context.close();

    },

    error       : function(r) { alert('jQuery Error'); }

});
Run Code Online (Sandbox Code Playgroud)

当我尝试导出$ _FILES和$ _POST时,唯一的响应(查看网络选项卡和控制台)只是两个空数组......

ajax jquery file-upload multipartform-data

22
推荐指数
1
解决办法
4万
查看次数

标签 统计

ajax ×1

file-upload ×1

jquery ×1

multipartform-data ×1