via formdata form false data contenttype javascript jquery http post multipart

javascript - formdata - jquery post file via ajax



¿Hacer una llamada HTTP POST con multipart/form-data usando jQuery? (3)

Estoy tratando de hacer una llamada HTTP POST con multipart / form-data, usando 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); } });

No funciona Firebug devuelve un error no definido y el campo multiparte del objeto XMLHttpRequst devuelto se establece en falso.

¿Qué puedo hacer para que esto funcione con jQuery? Y si no es posible, ¿hay un simple para lograr esto?

Es decir, no es necesario transferir archivos, solo algunos datos. pero el servidor requiere multiparte.



Usando FormData (), puedes subir archivos a través de una solicitud ajax.

Consulte este enlace para más información: FormData

Tutorial sobre el uso de FormData: tutorial


multipart/form-data no se ve así:

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

Esta es la application/x-www-form-urlencoded .

Aquí hay un example de cómo se ve la solicitud multipart/form-data . Y el relacionado RFC 1867 .

multipart/form-data se asocia a menudo con la carga de archivos. Si este es tu caso, puedes echar un vistazo al complemento de formulario jquery que te permite ajaxify formularios y también admite la carga de archivos .