php,如何调用javascript函数?

时间:2011-07-06 23:33:23

标签: php javascript gigya

我正在尝试使用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.phpredirect page ... socialize.notifyLogin的来电将在哪里?

感谢, 任何想法都有帮助

2 个答案:

答案 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函数。