我是PHP的新手,我只需要像在jsp中一样在php文件中编写一个javascript代码。
下面是我尝试这样做的示例代码,请帮我在php中嵌入我的javascript代码
getencryp.php
<html>
<body>
<script type="text/javascript" src="js/require.js"></script>
<script type="text/javascript" src="js/jsencrypt.js"></script>
<script type="text/javascript">
var b=getAccountbyEncrptInfo('xxx','yyyy')
function getAccountbyEncrptInfo(user,pass)
{
var omegaKey = 'abc';
var crypt = new JSEncrypt();
crypt.setPublicKey(omegaKey);
var creds = {
username: user,
password: pass
};
creds.username = crypt.encrypt(creds.username);
creds.password = crypt.encrypt(creds.password);
return JSON.stringify(creds);
}
</script>
<?php
echo Your encrypted username and password is $b;
?>
</body>
</html>
在上面的代码中我只是在java脚本 getAccountbyEncrptInfo(&#39; xxx&#39;,&#39; yyyy&#39;)中传递两个值,只是试图在php体内打印
答案 0 :(得分:1)
b
是javascript中的变量,它不是PHP中的变量。这样您就无法在PHP标记中回显它。
我认为你应该在PHP代码中实现函数getAccountbyEncrptInfo
或者将javascript中的变量绑定到html标记中,而不是在PHP中使用echo。它应该是这样的:
<html>
<body>
<script type="text/javascript" src="js/require.js"></script>
<script type="text/javascript" src="js/jsencrypt.js"></script>
<script type="text/javascript">
var b=getAccountbyEncrptInfo('xxx','yyyy');
document.getElementById('encrypted').html(b);
function getAccountbyEncrptInfo(user,pass)
{
var omegaKey = 'abc';
var crypt = new JSEncrypt();
crypt.setPublicKey(omegaKey);
var creds = {
username: user,
password: pass
};
creds.username = crypt.encrypt(creds.username);
creds.password = crypt.encrypt(creds.password);
return JSON.stringify(creds);
}
</script>
<div id="encrypted"></div>
</body>
</html>
答案 1 :(得分:0)
只需在var $('#answer').html(b);
声明
$b;
并替换
echo您的加密用户名和密码为div id="answer"></div
这一行有这一行
您的加密用户名和密码为{{1}}
只需创建一个空白div并设置它的id答案,这样js就会设置它的值
答案 2 :(得分:0)
为什么需要使用PHP?
<script>
var b = getAccountbyEncrptInfo('xxx','yyyy');
document.getElementById('ex').append(" Your encrypted username and password is " + b)
</script>
但是,如果您想将其附加到<?php ?>
标记内以进一步处理数据,则可能需要考虑使用AJAX请求。