开发者

Making an HTTP POST call with multipart/form-data using jQuery?

开发者 https://www.devze.com 2023-01-12 07:41 出处:网络
I\'m trying to make a HTTP POST call with multipart/form-data , using jQuery: $.ajax({ url: \'http://localhost:8080/dcs/rest\',

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 se开发者_如何学运维rver requires multipart.


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

0

精彩评论

暂无评论...
验证码 换一张
取 消