Javascript 使用jQuery对多部分/表单数据进行HTTP POST调用?

Javascript 使用jQuery对多部分/表单数据进行HTTP POST调用?,javascript,jquery,http,post,multipart,Javascript,Jquery,Http,Post,Multipart,我正在尝试使用jQuery对多部分/表单数据进行HTTP POST调用: $.ajax({ url: 'http://localhost:8080/dcs/rest', type: 'POST', contentType:'multipart/form-data', data: 'dcs.source=boss-web&query=data&dcs.algorithm=lingo&dcs.output.format=JSON&dcs.cluster

我正在尝试使用jQuery对多部分/表单数据进行HTTP POST调用:

$.ajax({
  url: 'http://localhost:8080/dcs/rest',
  type: 'POST',
  contentType:'multipart/form-data',
  data: 'dcs.source=boss-web&query=data&dcs.algorithm=lingo&dcs.output.format=JSON&dcs.clusters.only=true', 
  //dataType: "jsonP",
  success: function(jsonData) {alert('POST alert'); data=jsonData ; },
  error : function(XMLHttpRequest, textStatus, errorThrown) {
            console.log('An Ajax error was thrown.');
            console.log(XMLHttpRequest);
            console.log(textStatus);
            console.log(errorThrown);
          }
});
它不起作用。Firebug返回未定义的错误,并且返回的
XMLHttpRequest
对象多部分字段设置为false

我该怎么做才能使jQuery起作用?如果不可能,有没有一个简单的方法来实现这一点


i、 我不需要传输文件,只需要一些数据。但是服务器需要多部分。

多部分/表单数据
看起来不是这样的:

dcs.source=boss-web&query=data&dcs.algorithm=lingo&dcs.output.format=JSON&dcs.clusters.only=true
这是
应用程序/x-www-form-urlencoded

下面是一个关于
多部分/表单数据
请求的示例。以及相关的


multipart/form data
通常与上载文件相关联。如果这是您的情况,您可以查看允许您对表单和进行ajaxify的。这种方式可以:

$( "form#upload-form" )
    .attr( "enctype", "multipart/form-data" )
    .attr( "encoding", "multipart/form-data" );
$.ajax({ 
    type: "POST",
    contentType:attr( "enctype", "multipart/form-data" ),
    url: "/adm/oferta_insert",
    data: dados, 
    success: function( data ) { 
        alert( data );  
    }  
});  

使用FormData(),您可以通过ajax请求上传文件

有关更多信息,请参阅此链接:


关于使用FormData的教程:

如果我试图发送的数据实际上不是完整的格式,该怎么办?我收到一个错误,说没有为设置contentType的部分定义attr。FormData与ie8/9不兼容在ie8/9 hack中查找FormData-