Jquery 在onProviderLoginToken事件期间,janrain engage模式弹出窗口不会关闭

Jquery 在onProviderLoginToken事件期间,janrain engage模式弹出窗口不会关闭,jquery,asp.net-web-api,janrain,Jquery,Asp.net Web Api,Janrain,在我的旅途中,使用Janrain客户端身份验证过程对用户进行身份验证的整个过程是一次漫长而奇怪的旅行,但我最终让它工作了,但是 如何在获取令牌后关闭模式弹出窗口,然后使用$.ajax get方法针对我的一个WebApi控制器获取用户信息 整个过程非常有效,我正在获取所需的用户配置文件信息,但在执行对WebApi控制器的ajax调用并在页面上填充div标记数据后,模式窗口仍然打开,状态为Facebook徽标下的“登录…” 我还不允许发布图像,但如果您想查看冻结模式的图像,可以在此处查看”http:

在我的旅途中,使用Janrain客户端身份验证过程对用户进行身份验证的整个过程是一次漫长而奇怪的旅行,但我最终让它工作了,但是

如何在获取令牌后关闭模式弹出窗口,然后使用$.ajax get方法针对我的一个WebApi控制器获取用户信息

整个过程非常有效,我正在获取所需的用户配置文件信息,但在执行对WebApi控制器的ajax调用并在页面上填充div标记数据后,模式窗口仍然打开,状态为Facebook徽标下的“登录…”

我还不允许发布图像,但如果您想查看冻结模式的图像,可以在此处查看”http://oi46.tinypic.com/34s1nax.jpg"

救命啊!我是否错过了关闭模式的最后一个命令

下面是我已经准备好的一些代码

(function () {
if (typeof window.janrain !== 'object') window.janrain = {};
window.janrain.settings = {};

janrain.settings.tokenUrl = 'http://localhost:20000/login.html';
janrain.settings.tokenAction = 'event';
janrain.settings.type = 'modal';
janrain.settings.linkClass = 'janrainEngage';


function isReady() { janrain.ready = true; };
if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", isReady, false);
} else {
    window.attachEvent('onload', isReady);
}

var e = document.createElement('script');
e.type = 'text/javascript';
e.id = 'janrainAuthWidget';

if (document.location.protocol === 'https:') {
    e.src = 'https://rpxnow.com/js/lib/idrinkticket/engage.js';
} else {
    e.src = 'http://widget-cdn.rpxnow.com/js/lib/idrinkticket/engage.js';
}

var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(e, s);
})();



function janrainWidgetOnload() {
janrain.events.onProviderLoginStart.addHandler(function () {
    console.log('Login Start!');
});
janrain.events.onProviderLoginComplete.addHandler(function (response) {
    console.log('Login complete!');
    console.log('response.provider = ' + response.provider);
});
janrain.events.onProviderLoginError.addHandler(function (response) {
    console.log('Login Error!');
    console.log('response.err.code = ' + response.err.code);
    console.log('response.err.msg = ' + response.err.msg);
    console.log('response.origin = ' + response.origin);
    console.log('response.state = ' + response.state);
});
janrain.events.onProviderLoginSuccess.addHandler(function (something) {
    console.log('Login Succcess!');
});
janrain.events.onReturnExperienceFound.addHandler(function (response) {
    console.log('Return Experience Found!');
    console.log('response.name = ' + response.name);
    console.log('response.returnProvider = ' + response.returnProvider);
    console.log('response.welcomeName = ' + response.welcomeName);
});
janrain.events.onProviderLoginToken.addHandler(function (response) {
    console.log('Provider Login Token Returned!');
    console.log('response.token = ' + response.token);

    $.ajax({
        url: "http://localhost:30001/Engage",
        type: "get",
        data: ({ token: response.token }),
        dataType: "json",
        success: function (data) {
            $('#results').append(data.Identifier);
            $('#results').append(data.ProviderName);
            $('#results').append(data.DisplayName);
        },
        error: function (xhr, status, p3, p4) {
            console.log(xhr);
            console.log(status);
            console.log(p3);
        }
    });
});
}



<a class="janrainEngage" href="#">LOGIN</a>
<br /><br />

<div id="results"></div>
(函数(){
if(typeof window.janrain!='object')window.janrain={};
window.janrain.settings={};
janrain.settings.tokenUrl=http://localhost:20000/login.html';
janrain.settings.tokenAction='event';
janrain.settings.type='modal';
janrain.settings.linkClass='janrainEngage';
函数isReady(){janrain.ready=true;};
if(文件增补列表器){
document.addEventListener(“DOMContentLoaded”,isReady,false);
}否则{
window.attachEvent(“已加载”,已准备就绪);
}
var e=document.createElement('script');
e、 类型='text/javascript';
e、 id='janrainAuthWidget';
如果(document.location.protocol=='https:'){
e、 src='1〕https://rpxnow.com/js/lib/idrinkticket/engage.js';
}否则{
e、 src='1〕http://widget-cdn.rpxnow.com/js/lib/idrinkticket/engage.js';
}
var s=document.getElementsByTagName('script')[0];
s、 parentNode.insertBefore(e,s);
})();
函数janrainWidgetOnload(){
janrain.events.onProviderLoginStart.addHandler(函数(){
log('Login Start!');
});
janrain.events.onProviderLoginComplete.addHandler(函数(响应){
log('Login complete!');
log('response.provider='+response.provider);
});
janrain.events.onProviderLoginError.addHandler(函数(响应){
log('Login Error!');
log('response.err.code='+response.err.code);
log('response.err.msg='+response.err.msg);
log('response.origin='+response.origin);
console.log('response.state='+response.state);
});
janrain.events.OnProviderLoginsAccess.addHandler(函数(某物){
log('Login success!');
});
janrain.events.OnReturnExperienceFund.addHandler(函数(响应){
log('returnexperience Found!');
log('response.name='+response.name);
log('response.returnProvider='+response.returnProvider);
log('response.welcomeName='+response.welcomeName);
});
janrain.events.onProviderLoginToken.addHandler(函数(响应){
log('Provider Login Token Returned!');
log('response.token='+response.token);
$.ajax({
url:“http://localhost:30001/Engage",
键入:“获取”,
数据:({token:response.token}),
数据类型:“json”,
成功:功能(数据){
$('#results').append(data.Identifier);
$('#results').append(data.ProviderName);
$('#results').append(data.DisplayName);
},
错误:功能(xhr、状态、p3、p4){
console.log(xhr);
控制台日志(状态);
控制台日志(p3);
}
});
});
}



您可以在成功或出错时使用
janrain.engage.signin.modal.close()
您可以在成功或出错时使用
janrain.engage.signin.modal.close()
也可以尝试一下

janrain.events.onProviderLoginComplete.addHandler(function (response) {
    janrain.engage.signin.modal.close();
});
再试试这个,

janrain.events.onProviderLoginComplete.addHandler(function (response) {
    janrain.engage.signin.modal.close();
});

我想对你的问题至少投10次赞成票!!!非常感谢你!!!!我想对你的问题至少投10次赞成票!!!非常感谢你!!!!