使用JSON导出数据

时间:2011-04-26 05:10:56

标签: javascript jquery asp.net-mvc

我需要在excel文件中导出数据。我正在使用相同的JSON帖子。它在IE以外的每个浏览器中都能正常工作。看看我的javascript代码如下: -

function ExportQueryData() {
            var Qry = $("#txtQueryInput").val();
            if ($.trim(Qry) == "") {
                $("#txtQueryInput").addClass("error");
                return false;
            }
            else
                $("#txtQueryInput").removeClass("error");
            var url = "/Reports/ExportQueryData";
            var frmserialize = $("#frmQuery").serialize();

            $.post(url, frmserialize, function(data) {
                data = eval("(" + data + ")");
                if (data.Success) {
                    url = "/Reports/Export";
                    var win = window.open(url, "DownloadWin", "resizable=0,status=0,toolbar=0,width=600px,height=300px");
                    win.focus();
                    win.moveTo(100, 100);
                    return false;
                }
                else {
                    Notify("DB Query", data.Message);
                }
            });
        }

根据上面的代码,我使用window.open调用/Reports/Export动作。除了IE之外,每个浏览器都会弹出这个弹出窗口。在IE弹出窗口中,在1或2秒内同时关闭。 我需要使用JSON帖子,因为它验证输入然后返回成功状态。我只能在服务器端验证我的数据。

如果此处缺少任何信息,请告诉我们 你的建议对我有价值 感谢。

1 个答案:

答案 0 :(得分:1)

我认为你有一个弹出阻挡器的情况......坦率地说,我不认为弹出一个东西是个好主意。浏览器似乎讨厌它。

您可以向用户显示该文件的链接,要求他点击下载。