使用jQuery使用multipart/form-data进行HTTP POST调用?

Ale*_*oks 16 javascript jquery post http multipart

我正在尝试使用jQuery使用multipart/form-data进行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);
          }
});
Run Code Online (Sandbox Code Playgroud)

它不起作用.Firebug返回未定义的错误,返回的XMLHttpRequst对象multipart字段设置为false.

我可以做些什么来使用jQuery工作?如果不可能有一个简单的实现这个?

即idon't不需要传输文件,只需要一些数据.但服务器需要multipart.

Dar*_*rov 11

multipart/form-data 看起来不像这样:

dcs.source=boss-web&query=data&dcs.algorithm=lingo&dcs.output.format=JSON&dcs.clusters.only=true
Run Code Online (Sandbox Code Playgroud)

这是application/x-www-form-urlencoded.

以下是请求如何显示的示例multipart/form-data.和相关的RFC 1867.

multipart/form-data通常与上传文件有关.如果是这种情况,你可以看看jquery表单插件,它允许你ajaxify表单并支持文件上传.