Parece que ajax jquery se queja de la descarga de datos xml, pero no es en consecuencia con el formato de datos excel. Establezca dataType en "texto" en ajax y haga un buen tipo MIME antes de enviar el archivo generado al cliente. De este modo, la descarga del archivo de Excel debe ser interpretada por el navegador como un archivo de Excel real. jQuery cargar archivo usando jQuery, ajax método (sin plugins) Cree un formulario, use el método POST, envíe el formulario, no es necesario un iframe. luego paso su ID de registro a través de la descarga de archivos jQuery, finalmente, en el archivo de script de descarga consulto la base de datos utilizando este ID para extraer la cadena base64 y pasarla. Hace algunos años el cuando quería subir algún archivo a un servidor tenia que, indiscutiblemente, hacer un post a un controlador por medio de un form con el tag enctype (encoding type, por sus siglas en ingles) del tipo multipart/data, La experiencia de usuario era horrible! ya que no sabias que estaba pasando en la subía del archivo o archivos, y para nosotros como desarrolladores era El beneficio de la blob método es que usted puede tener la descarga de archivos sin la interacción del usuario, a continuación, preguntar para guardar cuando haya terminado la descarga. En última instancia, depende de la naturaleza de su aplicación. La mayoría de la gente no necesita que la funcionalidad y la window.open método está bien.
Descarga un archivo JS (2KB) que contiene el código empleado en los ejemplos de esta página. Todos los ejemplos están comentados. El enlace se abre en el navegador, simplemente usa las teclas Control + S para guardarlo en un archivo.
Load Get y Post en AJAX Método AJAX completo. Funciones Callback. jQuery en Dreamweaver. JQuery. Conheça alguns métodos pouco utilizados mas que podem ser grandes aliados dos desenvolvedores jQuery. Con el método post sí que podemos enviar archivos, pero se trata de una forma especial del método post que se llama FILES ya que el identificador es $_FILES. Para esto hay que modificar un poco el formulario de entrada de HTML: