こんにちは私はサーバー側でいくつかのファイルを生成し、AJAXでクライアントに返す必要があります
サーバー(ASHX)で次のコードを作成します
public void ProcessRequest(HttpContext context)
{
string dataViewID = context.Request.Form["dataViewID"];
MyService service = new MyService();
var data = service.GetStores(int.Parse(dataViewID), "", null);
IMyExportService exportservice = new MyExportService();
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + "export.cvs");
using (var ms = new MemoryStream())
{
using (var sw = new StreamWriter(ms))
{
exportservice.ExportTo("csv", sw, data);
ms.Position = 0;
HttpContext.Current.Response.Write(ms.ToArray());
}
}
}
クライアントで次のコードを作成します:$( "#btnexport")。click(function(){var paramData = {"dataViewID":1524129、 "filter": ""、extend:null};//フルマップ$.ajax ({url:'/marketVuePortal/'+'FileExport.ashx'、type:'POST'、
dataType: "json"、data:{dataViewID:1524129}、
success:function(result){//ここに何が必要ですか? }、エラー:function(xhr){alert( "error");}}
)}
);
しかし、2つの問題があります。理由はわかりませんが、常にエラーが発生しますが、デバッグではすべてのコードが正常に機能します。2つ目は、リロードせずにページを保存する必要があるとブラウザに言う方法がわからないことです。