2014-01-21 66 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(); 
    } 
});