我正在尝试使用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);
}
});
它不起作用。 Firebug返回未定义的错误,返回的XMLHttpRequst
对象多部分字段设置为false。
我可以做些什么来使用jQuery?如果不可能有一个简单的实现这个?
即。不需要传输文件,只需要传输一些数据。但是服务器需要多部分。
答案 0 :(得分:11)
multipart/form-data
看起来不像这样:
dcs.source=boss-web&query=data&dcs.algorithm=lingo&dcs.output.format=JSON&dcs.clusters.only=true
这是application/x-www-form-urlencoded
。
以下是multipart/form-data
请求的example。以及相关的RFC 1867。
multipart/form-data
经常与上传文件相关联。如果是这种情况,您可以查看jquery form plugin,它可以让您对表单和supports file uploads进行调整。
答案 1 :(得分:1)
答案 2 :(得分:0)
这种方式有效:
$( "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 );
}
});