Получение файла из .ashx с помощью jQuery Post - PullRequest
2 голосов
/ 11 января 2012

Этот вопрос является следствием другого вопроса, который я задал - Передача данных клиента на сервер для создания файла Excel или CSV .

У меня есть страница клиента, которая создает объект JSON для отправкина сервер, и у меня есть серверный код, который может проанализировать этот объект JSON в команду SQL и получить набор данных необходимых данных.

Первоначально я передавал объект JSON в веб-службу .asmx, котораявернул бы объект JSON, содержащий мои данные.Теперь я хочу пойти в другом направлении и получить данные, возвращенные в виде файла .csv.

Я понимаю, что могу попытаться поместить свой объект JSON в строку запроса и вызвать мою страницу .ashx, но JSONобъект может стать большим, поэтому я пытаюсь использовать Request.Form для POST.

Мой вопрос и отсутствие понимания заключается в том, как использовать jQuery для публикации на странице .ashx и получения ее.вернуть файл .csv клиенту.Если я перехожу к странице .ashx напрямую (и изменяю страницу для жесткого кодирования переданных данных), я получаю возвращаемый мне файл .csv без проблем (т.е. я получаю приглашение открыть / сохранить файл).Если я сделаю POST в файл .ashx из jQuery и отправлю свой объект JSON через него, я получу ответ, содержащий данные в строке, а не получу .csv.

Итак, есть что-то, что яотсутствует, или я просто пытаюсь достичь чего-то, чего не могу или не должен делать?

Я думал о передаче своего объекта JSON в веб-службу .asmx, которая будет хранить объект JSONв базу данных и вернуть идентификатор, а затем использовать window.location, чтобы перейти к .ashx с идентификатором в качестве параметра строки запроса, чтобы затем создать файл .csv, но я подумал, что может быть способ избежать этого среднего шага исделайте это с POST.

Извините, если это немного бессвязно и бессвязно.Я буду рад разъяснить любые детали, которые могут ни для кого не иметь смысла.

1 Ответ

0 голосов
/ 12 января 2012

Я пытаюсь сделать нечто подобное, пока мы говорим.

Взгляните на этот вопрос.Это может вам помочь.

Как: jQuery опубликовать в файл Ashx для принудительного скачивания результата?

...