我在Python中使用Google App Engine。我的登录页面包含以下代码:
<script>
function gSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
console.log('ID: ' + profile.getId());
console.log('Name: ' + profile.getName());
console.log('Image URL: ' + profile.getImageUrl());
console.log('Email: ' + profile.getEmail());
$('.notlog').hide();
$('.log').show();
$('#uName').text('Welcome, ' + profile.getName());
}
function nusSignIn(user){
$('.notlog').hide();
$('.log').show();
$('#uName').text('Welcome, ' + user);
}
</script>
当我使用google登录时:
<div class="g-signin2 notlog" data-onsuccess="gSignIn"></div>
gSignIn函数工作正常,那些notlog类的元素消失了。但是当我为openID执行此操作时:
{% if user_mail %}
<span id="nusname" style="display:none">{{user_mail}}</span>
<script>
var name = document.getElementById("nusname").innerHTML;
alert(name);
nusSignIn(name);
</script>
<a href="{{nuslogout}}" class="log">
Logout
</a>
{% else %}
<form action="/nusopenid" method="post">
<button>Login with Nus OpenID</button>
</form>
{% endif %}
只有使用Nus OpenID的登录消失,并且nusSignIn功能似乎不起作用,但警报(名称)确实有效,并且还会显示注销超链接。
user_mail从应用程序的python传递。