有以下功能,即从数据库中提取数据。Ajax调用工作正常。如何将成功函数中以制表符分隔的数据发送给用户?将contect类型设置为“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。
下面是我在单击按钮时调用的函数:
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;;
}
发布于 2017-12-27 14:15:53
由于它使用JavaScript,Ajax受到JavaScript设计的限制的约束,包括与客户端机器上的其他进程交互。在本例中,这是一件好事;您不希望站点自动加载包含恶意宏的Excel文档。
如果想在浏览器中显示数据,可以使用Ajax;否则,您将只需要提供一个指向Excel文档的链接,并让浏览器的常规下载处理功能确定该做什么。
https://stackoverflow.com/questions/-100000042
复制相似问题