我正在尝试使用gigya auth属性登录我网站上的用户。他们有一个需要在我验证凭据后调用的函数,如illustration
中所示我有一个表单,当我提交表单时,我将其发送到login.php,我在那里验证我的用户。我的问题是我如何call socialize.notifyLogin
?
这是javascript:
<script type="text/javascript"> var conf = { APIKey:'2_9E9r_ojXEqzZJqKk7mRqvs81LtiSvUmBcm' }; </script>
<script type="text/javascript">
var secret = 'eIqtclW2CxC6qvmT55MvOxZ5Rm7V5JhBV/gioJLKIxM=';
var yourSiteUid= '<?php echo $talentnum;?>'; // siteUID should be retrieved from your user management system
function your_b64_hmac_sha1(secret, datePlusSite) {
var b64Sig = ''; // Place your implementation here ...
return b64Sig;
}
function printResponse(response) {
if ( response.errorCode == 0 ) {
alert('After notifyLogin');
}
}
var dateStr = getCurrentTime();
var datePlusSite = dateStr + "_" + yourSiteUid;
var yourSig = your_b64_hmac_sha1(secret, datePlusSite);
var params={
siteUID:yourSiteUid,
timestamp:dateStr,
signature:yourSig,
callback:printResponse
};
gigya.services.socialize.notifyLogin(conf,params);
</script>
更清楚的是我在login.php中设置了$talentnum;
。所以我the form
我发送了the login.php
和redirect page
... socialize.notifyLogin
的来电将在哪里?
感谢, 任何想法都有帮助
答案 0 :(得分:2)
您有两种选择:
如果您将login.php作为HTML表单的目标调用,则应在成功登录后将用户重定向到新的HTML页面。此新HTML页面应包含socialize.notifyLogin
调用。
如果你通过AJAX请求调用login.php,你应该在AJAX请求的“成功”回调中调用socialize.notifyLogin
。
但是,在任何情况下,您都无法直接从PHP脚本执行Javascript函数。在将Javascript作为HTML文档输出发送给用户之前,PHP在服务器上执行,因此无法直接执行Javascript函数。
答案 1 :(得分:0)
PHP在页面加载之前执行,因此您无法从PHP调用JavaScript函数。