我想将php语法放入javascript支付完成功能。
1。这是一个JavaScript代码,将在您的在线付款完成后运行。
<script>
......
function(rsp) {
if ( rsp.success ) {
var msg = 'payment success';
msg += 'Store ID : ' + rsp.imp_uid;
msg += 'Store deal ID : ' + rsp.merchant_uid;
msg += 'Price : ' + rsp.paid_amount;
msg += 'Card Authorization Number : ' + rsp.apply_num;
} else {
var msg = 'Billing failed.';
msg += 'Error reason : ' + rsp.error_msg;
}
alert(msg);
}
</script>
2。这是PHP代码,可在付款成功完成后添加用户的信用。
<?php $user_wallet->balance = $user_wallet->balance + $paid_amount;?>
我想将此代码放在脚本部分中。
if ( rsp.success ) {
<?php $user_wallet->balance = $user_wallet->balance + $paid_amount;?>
}
但是php语法在脚本部分不起作用。 我该如何解决这个问题?
答案 0 :(得分:1)
也许您需要将php变量写入js函数,例如:
<script>
function(rsp) {
if ( rsp.success ) {
<?php
$user_wallet->balance = $user_wallet->balance + $paid_amount;
?>
var msg = 'payment success';
msg += 'Store ID : ' + rsp.imp_uid;
msg += 'Store deal ID : ' + rsp.merchant_uid;
msg += 'Price : ' + rsp.paid_amount;
msg += 'Card Authorization Number : ' + rsp.apply_num;
msg += 'Balance: <?php echo {$user_wallet->balance}; ?>';
} else {
var msg = 'Billing failed.';
msg += 'Error reason : ' + rsp.error_msg;
}
alert(msg);
}
</script>
答案 1 :(得分:0)
您需要了解所请求页面中的所有PHP代码都将首先运行,然后将其生成的任何内容(HTML,CSS,Javascript和所有客户端内容)发送回客户端。当客户端收到响应时,Javascript可以运行。所以你在Javascript中的if语句实际上是在PHP代码之后运行的。您的问题的一个解决方案是使用Ajax来请求运行PHP代码。这对你有用。