我的 browserId 登录代码几乎是从这里逐字记录的。但是当我打开 Route 时,请求会自动发送,无论是否loggedInEmail
设置或其他任何内容,都会导致永久刷新循环。我的 Javascript 代码在生成时是:
navigator.id.watch({
'loggedInEmail': null,
'onlogin': (function (jmId_1_0) {
$.ajax({
'data': {
'assertion': jmId_1_0
},
'error': (function (jmId_1_1, jmId_1_2, jmId_1_3) {
alert(("login failure" + jmId_1_1));
}),
'success': (function (jmId_1_4, jmId_1_5, jmId_1_6) {
console.log(jmId_1_4);
}),
'type': "POST",
'url': "\/login"
});
}),
'onlogout': (function () {
$.ajax({
'error': (function (jmId_1_7, jmId_1_8, jmId_1_9) {
alert(("logout failure" + jmId_1_7));
}),
'success': (function (jmId_1_10, jmId_1_11, jmId_1_12) {
window.location.reload();
}),
'type': "POST",
'url': "\/logout"
});
})
});
$((function () {
$("#loginBtn").click((function (jmId_1_13) {
jmId_1_13.preventDefault();
navigator.id.request();
return false;
}));
}));
onlogin
无论用户是否点击了按钮,这些函数都会被调用。它必须在 browserId 本身的某个地方,或者我做错了什么。
完整的模板代码可以在这里找到。