2011-04-26 92 views
0

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

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以外的每个浏览器打开。在1秒或2秒内IE弹出同时关闭。 我需要使用JSON发布,因为它验证输入,然后返回成功status.I可以验证我的数据只在服务器端。

让我知道是否有任何信息在这里丢失。
您的建议对我很有价值。
谢谢。

回答

1

我认为你已经有了一个弹出窗口阻止器的情况......坦率地说,我不认为在弹出窗口打开东西是一个好主意了。浏览器似乎讨厌它。

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

+0

感谢您的重播......我需要为此更改UI。不管怎样,谢谢.. – 2011-04-26 07:47:02