javascript - 我正在尝试将一些 PHP 变量和 Javascript 变量传递到 Javascript window.location.href 中的 url
问题描述
我正在尝试将一些 PHP 变量和“引用”的 Javascript 变量名传递到 Javascript 中的 URL 中。以下是运行良好的 PHP 变量
//Collect user's data
$amt = $_GET['amount'];
$email = $_GET['email'];
$firstname = "bas";
$lastname = "aik";
<script>
callback: function(response){
const referenced = response.reference;
window.location.href='successful.php?successfullypaid=referenced&email=<?php echo $email; ?>';
},
<script?
我在下面粘贴了我的整个代码供您查看。
<?php
//sanitize form inputs
$sanitizer = filter_var_array($_POST, FILTER_SANITIZE_STRING);
//Collect user's data
$amt = $_GET['amount'];
$email = $_GET['email'];
$firstname = "bas";
$lastname = "aik";
//Make sure fields are not empty
//if(empty($amt)) {
// header("Location: deposit.php");
//}else{
?>
<div class="modal-body">
<p>Confirm Online payment to pay with paystack</p>
<form >
<script src="https://js.paystack.co/v1/inline.js"></script>
<button type="button" class="btn btn-success confirm-button" onclick="payWithPaystack()"> Confirm </button>
<a class="btn btn-danger" href="index.php"> Decline </a>
</form>
</div>
<!-- <div class="modal-footer">
<a href="index.php"> <button type="button" class="btn btn-primary">Go to Account</button></a>
</div>-->
</div>
</div>
</div>
</div>
<script>
function payWithPaystack(){
const api = "pk_test_71bd9a7489bee5e300594cabeac43344eed2ef5c";
var handler = PaystackPop.setup({
key: api,
email: '<?php echo $email; ?>',
amount: <?php echo $amt*100; ?>,
currency: "NGN",
ref: ''+Math.floor((Math.random() * 1000000000) + 1), // generates a pseudo-unique reference. Please replace with a reference you generated. Or remove the line entirely so our API will generate one for you
/*firstname: <?php echo $firstname; ?>,
lastname: <?php echo $lastname; ?>,*/
metadata: {
custom_fields: [
{
/*display_name: <?php echo $firstname; ?>,
variable_name: <?php echo $lastname; ?>,
value: "+2348012345678"*/
}
]
},
callback: function(response){
const referenced = response.reference;
window.location.href='successful.php?successfullypaid=referenced&email=<?php echo $email; ?>';
},
onClose: function(){
alert('window closed');
}
});
handler.openIframe();
}
</script>
我已经尝试了这个问题的所有答案如何在 php 中的 location.href 中传递多个参数?,但他们不为我工作。
window.location.href='successful.php?successfullypaid=referenced&email=<?php echo $email; ?>';
这是唯一接近我想要的解决方案,PHP 变量工作正常,但 javascript 变量不起作用
解决方案
试试这个,现在你只是制作一个字符串,与 PHP 不同,javascript 不允许你在字符串中传递变量。
window.location.href=`successful.php?successfullypaid=${referenced}&email=<?=$email; ?>`;
推荐阅读
- javascript - 如何清除jQuery中的输入字段?
- python - 如何将图像列表传递给 keras train 函数
- swift - 使用 Swift 将用户输入从 TableViewController 复制到 ViewController
- sql - 从表中的计数(列)在蜂巢中排名
- ios - 未在 super.init 调用时初始化
- android - 在 IN_APP_ITEMS_ON_VR 中,VR 是什么意思?
- c# - 为 Mac 编译 C++ 代码(Boost Minkowski 方法)
- c++ - 即使使用前向声明 (c++) 也会出现错误“X 不是类型”
- angular - 有循环时移除模板上的调用方法
- python - Dropbox Python API 不更新文件