2016-08-08 36 views
0

我面臨一個問題,重定向到另一個域,從ajax調用成功在ie。它僅在ie中顯示問題,在Chrome和Firebox中運行良好。我正在使用extjs進行ajax調用,作爲響應,我想根據成功值重定向到另一個域。在ie11 ajax調用-window.location重定向不起作用,extjs

但是,如果我在ajax成功放置JavaScript警報,它在ie中工作。

如果我們將相同的重定向代碼放在ajax調用成功之外,它就可以工作。

  Ext.Ajax.request({ 
       url: 'API/LogOut.ashx', 
       scope: this, 

      success: function (response) { 
       var result = response.result.data; 

       if (result['LogOutUrl']) 
       { 
        window.location.assign(result['LogOutUrl']); 

我甚至試圖重定向像這樣window.location.assign('/ tax.aspx')。但即使這樣也行不通。任何人都有任何線索。

回答

0

我也面臨IE瀏覽器的相同問題,在IE中由於安全性它阻止了window.open()等窗口重定向,導致彈出窗口阻止程序。

在你的ajax響應來臨之後,嘗試使用延遲任務或setTimeout()。

Ext.Ajax.request({ 
      url: 'API/LogOut.ashx', 
      scope: this, 
     success: function (response) { 
      var result = response.result.data; 
      if (result['LogOutUrl']) 
      { 
       setTimeout(function(){ 
        window.location.assign(result['LogOutUrl']); 
       },1000); 
      ... 

在此發佈您的結果。如果可能,請提供一些小提琴鏈接。

+1

我試過上面的代碼,它沒有工作 –

+1

@NayasSubramanian:你可以創建小提琴,這樣我們可以得到工作的例子,我們可以解決這個問題。 – Tejas