Question

I'm trying to make a HTTP POST call with multipart/form-data , using jQuery:

$.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);
          }
});

It doesn't work. Firebug returns an undefined error and the returned XMLHttpRequst object multipart field is set to false.

What can i do to make this work with jQuery? And if it's not possible is there a simple to achieve this?

i.e. idon't need to transfer files , just some data. but the server requires multipart.

No correct solution

OTHER TIPS

multipart/form-data doesn't look at like this:

dcs.source=boss-web&query=data&dcs.algorithm=lingo&dcs.output.format=JSON&dcs.clusters.only=true

This is application/x-www-form-urlencoded.

Here's an example of how multipart/form-data request looks like. And the related RFC 1867.

multipart/form-data is quite often associated with uploading files. If this is your case you could take a look at the jquery form plugin which allows you to ajaxify forms and supports file uploads as well.

Using FormData(), you can upload files via ajax request.

Refer this link for more info: FormData

Tutorial about using FormData: tutorial

This way works:

$( "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 );  
    }  
});  

http://www.bennadel.com/blog/1273-Setting-Form-EncType-Dynamically-To-Multipart-Form-Data-In-IE-Internet-Explorer-.htm

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top