Getting file from .ashx with a jQuery Post

血红的双手。 提交于 2019-12-12 20:46:51

问题


This question is a following from another question I asked - Passing client data to server to create Excel or CSV File.

I have a client page which builds a JSON object to send to the server, and I have server code which can parse that JSON object into an SQL command and end up with a dataset of required data.

I had originally been passing the JSON object to an .asmx web service which would return a JSON object containing my data. Now I want to go in a different direction and have the data returned as a .csv file.

I understand I can try to put my JSON object into a query string and call my .ashx page, but the JSON object could get large, so I'm trying to use the Request.Form of a POST.

My question, and lack of understanding, is in how to use jQuery to post to the .ashx page and have it return the .csv file to the client. If I navigate to the .ashx page directly (and modify the page to hard code the passed data), I get the .csv file returned to me no problem (i.e I get the prompt to open/save the file). If I make a POST to the .ashx file from jQuery and send my JSON object through, I get a response which contains the data in a string, rather than getting a .csv.

So, is there something I am missing, or am I just trying to achieve something that I can't or shouldn't be doing?

I'd thought about passing my JSON object to a .asmx web service which would store the JSON object into a database and return an ID, and then use window.location to browse to the .ashx with the ID as a query string parameter to then generate the .csv file, but I thought there might be a way to avoid that middle step and do it with the POST.

Sorry if this is a little rambling and disjointed. I'll be happy to clarify on any parts that may not make sense to anyone.


回答1:


I am trying to do something similar as we speak.

Take a look at this question. It might help you.

How to: jQuery post to ashx file to force download of result?



来源:https://stackoverflow.com/questions/8822855/getting-file-from-ashx-with-a-jquery-post

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!