我想创建并加载一个带有脚本标签的表单,其中包含我使用AJAX发送的变量,并使用html()将此表单放在div中,所以我使用这样的对象标记。
$.ajax({
type: "POST",
url: "scripts/api.php",
data:{
uuid: '03249AAV',
amount: '100.00',
userID: '111111'
},
cache: false,
success: function( data, textStatus, jQxhr ){
$("#b4").html("<object type='text/html' data='scripts/api.php'></object>");
},
error: function( jqXhr, textStatus, errorThrown ){
console.log( errorThrown );
}
});
和我的php代码创建表单接收变量:
<?php
$uuid = $_POST['uuid'];
$amount = $_POST['amount'];
$userID = $_POST['userID'];
$numrandom = rand(111111,999999);
$form="
<form action=\"https://www.mywebsite.com/payment.php?sessionToken=$uuid\" method='post'>
<script src=\"https://static-content.vnforapps.com/v1/js/checkout.js?qa=true\"
data-sessiontoken=\"$uuid\"
data-merchantid=\"$userID\"
data-buttonsize=\"\"
data-buttoncolor=\"\"
data-merchantlogo =\"icon/logo.png\"
data-merchantname=\"\"
data-formbuttoncolor=\"#047AB7\"
data-purchasenumber=\"$numrandom\"
data-amount=\"$amount\"
/></script>
</form>";
echo $form;
我在div中获得了AJAX结果,但变量在结果中是空的,如下结果:
我也尝试在AJAX $("#b4").html(data)
中使用,但表单不加载脚本标记,付费按钮不收费,看起来是空的,这就是我在开始时使用$("#b4").html("<object type='text/html' data='scripts/api.php'></object>");
的原因。控制台不显示任何错误。
如何显示这些变量?
我想要一些帮助。
谢谢!
答案 0 :(得分:0)
您当前的逻辑是通过POST发出AJAX请求,忽略响应,然后创建一个对象来调用相同的端点但是作为GET请求,因此不会检索任何变量。出于这个原因,object
完全无用
要执行您想要的操作,只需使用返回success
处理程序的HTML并将其附加到DOM:
success: function(data) {
$("#b4").html(data);
},