2014-01-21 106 views
0

我需要首先調用一個URL來生成一個令牌,然後在它生成的令牌打開另一個(同一)網站的頁面。它是生成令牌密切快,所以我無法獲得Windows認證propertly如何在jQuery中調用ajax調用

這是我的實際代碼的問題

function configurarClickLinkPromociones() { 
    $("#promocionesLink", contextoServicios).click(function() { 
     var winRef; 
     var seccionUrl = $(this).attr("data-url-seccion"); 

     if (seccionUrl != "") { 

      showLoading(); 
      $.ajax({ 
       url: '/Support/GetToken', 
       type: "GET", 
       dataFormat: "text/json", 
       success: function (data) { 
        HideLoading(); 
        winRef = window.open(data.Url + data.Token, '', 'menubar=0,resizable=1,location=1,scrollbars=1,width=976,height=505'); 
        winRef.close(); 
        winRef.open(seccionUrl, '', 'menubar=0,resizable=1,location=1,scrollbars=1,width=976,height=505'); 
       }, 
       error: function (XMLHttpRequest) { 
        HideLoading(); 
        eval(XMLHttpRequest.responseText); 
       } 
      }); 
     } 
    }); 
} 

回答

0

它只是用於測試目的,您可以使用alert這種方式:

winRef = window.open(data.Url + data.Token.....); 
alert(data.Token); //<-----here 
winRef.close(); 

,或者您可以使用setTimeout這樣:

winRef = window.open(data.Url + data.Token.....); 
setTimeout(function(){ 
    winRef.close(); 
    winRef.open(seccionUrl, '',...); 
},2000); 
+0

謝謝!這是我正在尋找的 – JorgeT

1

就叫window.close()在新窗口中每當操作完成。 See this demo (click).

在本演示中,我的新窗口只是等待,然後自行關閉:

setTimeout(function() { 
    window.close(); 
}, 1000); 

但是,你可以使用一個Ajax成功回調,而不是:

$.ajax({ 
    url: 'some/path', 
    success: function() { 
    window.close(); 
    } 
});