У меня есть следующая функция, которая извлекает данные из базы данных. Ajax-вызов работает правильно. Как я могу отправить данные с разделителями табуляции в моей функции успеха пользователю? Установка типа контекста "application / vnd.ms-excel" не сработала. В уведомлении об успехе отображаются правильно отформатированные данные.
function SendToExcel() {
$.ajax({
type: "GET",
url: "/Search.aspx",
contentType: "application/vnd.ms-excel",
dataType: "text",
data: "{id: '" + "asdf" + "'}",
success: function(data) {
alert(data);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
}});
}
Я не хочу отображать данные в браузере - я хочу отправить их в Excel.
РЕДАКТИРОВАТЬ: Я нашел способ сделать то, что я хотел. Вместо того, чтобы перенаправлять пользователей на новую страницу, которая предложит им сохранить / открыть файл Excel, я открыл страницу внутри скрытого фрейма. Таким образом, пользователи нажимают кнопку, и им предлагается сохранить / открыть файл Excel. Нет перенаправления страниц. Это Аякс? Нет, но это решает реальную проблему, с которой я столкнулся.
Вот функция, которую я вызываю по нажатию кнопки:
function SendToExcel() {
var dataString = 'type=excel' +
'&Number=' + $('#txtNumber').val() +
'&Reference=' + $('#txtReference').val()
$("#sltCTPick option").each(function (i) {
dataString = dataString + '&Columns=' + this.value;
});
top.iExcelHelper.location.href = "/Reports/JobSearchResults.aspx?" + dataString;;
}