当前位置: 首页 > 知识库问答 >
问题:

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

路裕
2023-03-14

我不知道为什么不能让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'); }

});

共有1个答案

欧阳翔
2023-03-14

必须将FormData对象作为数据参数传递

var request = new FormData();                   
$.each(context.prototype.fileData, function(i, obj) { request.append(i, obj.value.files[0]); });    
request.append('action', 'upload');
request.append('id', response.obj.id);
$.ajax({

    type        : 'POST',
    url     : context.controller,
    data        : request,
    processData : false,
    contentType : false,                        
    success     : function(r) {
        console.log(r);
        //if (errors != null) { } else context.close();

    },

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

});
 类似资料:
  • 问题内容: 我正在开发使用不同服务其余部分的图形界面(用Java编写)。我必须调用这样的服务: 呼叫服务: 当我从Angularjs服务文件中请求时,如果服务具有Content-Type = multipart / form- data,则会收到错误400(错误请求) 如果服务的Content-Type =“ application / x-www-form-urlencoded; charset

  • 在POSTMAN中是否有一种方法可以指定部件[0]的内容类型? 部件[0]和部件[1]的密钥名称应该是什么? 如何在第[1]部分中传递documentid? 我指的是:https://docs.docusign.com/esign/restapi/envelopes/envelopes/create/#examples REST API文档

  • 我正在尝试从我的电脑上传图像到一个使用Go的网站。通常,我使用一个bash脚本,向服务器发送一个文件和一个密钥:

  • 问题内容: 我想在JavaScript中使用XMLHttpRequest来发布包含文件类型输入元素的表单,以便避免页面刷新并返回有用的XML。 我可以使用JavaScript将表单上的目标属性设置为MSIE的iframe或Mozilla的对象,而无需刷新页面即可提交表单,但这有两个问题。较小的问题是目标与W3C不兼容(这就是为什么我在JavaScript中而不是在XHTML中设置目标)。主要问题是

  • 如何在Python中用请求发送?如何发送文件,我明白了,但是如何用这种方法发送表单数据就不明白了。

  • 如何在web服务中读取多部分/表单数据?我发送数据使用邮递员身体形式的数据,但邮递员得到错误。 错误系统。InvalidOperationException:请求格式无效:多部分/表单数据;边界=----WebKitformBoundary79KY1A1KYYY7QUI。at系统。网状物服务。协议。HttpServerProtocol。系统中的ReadParameters()。网状物服务。协议。W