2011-04-26 51 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