La configuración:ASP.NET MVC Controller fileContent ActionResult llamada a través de AJAX
El controlador contiene un método public ActionResult SaveFile()
que devuelve un FileContentResult
.
Lo que funciona:
la vista contiene un formulario, que se somete a esta acción. El resultado es este cuadro de diálogo:
lo que no funciona:
la vista contiene algo de JavaScript que hacer una llamada AJAX para la misma acción del controlador donde la forma sería publicar. En lugar de activar el cuadro de diálogo mencionado anteriormente, o incluso la función de éxito AJAX, la respuesta activa la función de error AJAX y el XMLHttpRequest.responseText
contiene la respuesta del archivo.
Lo que tiene que hacer:
hacer la petición para el archivo usando AJAX, y terminar con el mismo resultado que al enviar un formulario. ¿Cómo puedo hacer que la solicitud AJAX proporcione el diálogo que muestra el envío de un formulario?
Por qué no puedes simplemente utilizar la llamada no ajax? – LukLed
Puedo, pero quiero hacer algún otro procesamiento en la función javaScript una vez que finalice la operación de salvar, como desbloquear el formulario, que bloqueé antes de guardar. – Rick
OK, por lo que primero puede llamar a ajax SaveFile. SaveFile devolverá verdadero/falso. Cuando devuelve verdadero, llama a GET que no es Ajax para obtener el archivo. – LukLed