Jquery $.ajax-Aufruf für den download excel nicht funktioniert?
Ich bin mit $.ajax-Aufruf für den download von excel aus .aspx-Seite. Aber ajax Ausgabe einer Fehlermeldung nach Antwort.Ende. Dies ist der code den ich verwendet habe. Steuerung ist eine Bearbeitung bis Response.End()
dann alert(textStatus);
geben parser-Fehler.
MasterPage.Master
$.ajax({
type: "POST",
url: "../Users/DownloadExcel.aspx",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function(msg) {
alert(msg);
$.unblockUI();
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
$.unblockUI();
}
});
DownloadExcel.aspx
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
GenerateData()
End Sub
Private Sub GenerateData()
' Some Logic
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
Response.AddHeader("content-disposition", "attachment; filename=" & filename)
Response.BinaryWrite(pck.GetAsByteArray())
Response.End()
End Sub
- Haben Sie bestätigt, dass der responseText enthält gültige JSON(da Sie sagen, jquery, dass Sie sollten erwarten, json)?
- Werfen Sie einen Blick auf diese Antwort hier. stackoverflow.com/questions/149821/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie nicht in der Lage, eine Datei herunterzuladen, mithilfe von $.ajax-Funktion, denn es verarbeitet nur text-Formate (text, xml, json), und die Excel-Datei ist nicht.
Sehe ich Sie nicht senden, werden alle Header, oder Daten, die so vielleicht mit versteckten iFrames, die Ihnen helfen können.
Oder vielleicht diese:
http://filamentgroup.com/lab/jquery_plugin_for_requesting_ajax_like_file_downloads/
Verwenden Sie einfach einen html-link mit erforderlichen query-string-Parameter... nicht ajax verwenden, um für eine Datei herunterzuladen, es sei denn, Sie haben einige Besondere Grund.