通过payments.php中href链接中的data-pid将变量传递给JQuery,并使用AJAX将此变量传递给pmntPopup.php,但是该变量未传递
payments.php
<td class="listingTextLeft">
<a href="" data-pid="<?php echo $row[0] ?>" class="pmntDetail"><?php echo $row[20] ?></a>
</td>
<script>
$( ".pmntDetail" ).click(function( paymentID ) {
paymentID.preventDefault();
paymentID.stopPropagation();
var pmntid = $(this).data("pid");
console.log("ID: ", pmntid);
$.ajax({
type: "POST",
url: "pmntPopup.php",
data: {pmntid : pmntid },
success:function(data) {
console.log(pmntid);
$("#pmntDetailPopup").modal({position: ["5%"]});
}
});
});
</script>
两个实例中的控制台日志都显示了pmntid的正确值,但是当我尝试使用POST
在pmntPopup.php中检索它时,我只是收到“付款未携带”消息。
pmntPopup.php
<?php
if(isset($_POST['pmntid'])) {
$pmntid = $_POST['pmntid'];
} else {
echo "Payment Is Not Carried";
}
?>
我搜索了这个网站,从我能说的这应该有用,我可能错过了一些非常基本的东西或做一些非常愚蠢的事情......或两者兼而有之。
控制台POST输出:
嗨@Jay,已经从上面的控制台发布了POST输出的图片,如果有任何帮助,下图显示了弹出窗口输出:
根据要求,控制台响应输出如下所示:
答案 0 :(得分:0)
我不确定您使用paymentID变量做了什么,但这应该适合您:
$( ".pmntDetail" ).click(function( ) {
var pmntid = $(this).data("pid");
console.log("ID: ", pmntid);
$.ajax({ ...
答案 1 :(得分:0)
试试这个,ajax调用的响应将设置为成功回调函数的data
变量。
<强> payments.php 强>
<td class="listingTextLeft">
<a href="#" data-pid="<?php echo $row[0] ?>" class="pmntDetail"><?php echo $row[20] ?></a>
</td>
<script>
$( ".pmntDetail" ).click(function( event ) {
event.preventDefault();
var pmntid = $(this).data("pid");
console.log("ID: ", pmntid);
$.ajax({
type: "POST",
url: "/UCM/pmntPopup.php",
data: {pmntid : pmntid },
success:function(data) {
console.log(data); // YOU WILL RECEIVE THE RESPONSE IN data variable.
$("#pmntDetailPopup").modal({position: ["5%"]});
}
});
});
</script>
<强> pmntPopup.php 强>
<?php
if(isset($_POST['pmntid'])) {
echo $_POST['pmntid'];
} else {
echo "Payment Is Not Carried";
}
?>
[另外,我已经把文件的完整网址,即。&#34; /UCM/pmntPopup.php"到你的ajax url param]
答案 2 :(得分:0)
试试这个。
<td class="listingTextLeft">
<a href="" data-pid="<?php echo $row[0] ?>" class="pmntDetail"><?php echo $row[20] ?></a>
</td>
<script type="text/javascript">
$( ".pmntDetail" ).click(function(e) {
e.preventDefault();
var pmntid = $(this).data("pid");
console.log("ID: ", pmntid);
var request = $.ajax({
url: "pmntPopup.php",
type: "POST",
data: {pmntid : pmntid},
dataType: "html"
});
request.done(function(msg) {
console.log( msg );
});
request.fail(function(jqXHR, textStatus) {
alert( "Connection error: " + textStatus );
});
});
</script>
<强> pmntPopup.php 强>
<?php
if(isset($_POST['pmntid'])) {
$pmntid = $_POST['pmntid'];
echo $pmntid;
} else {
echo "Payment Is Not Carried";
}
?>
作为替代解决方案,请尝试jQuery帖子
$.post( "pmntPopup.php", {pmntid : pmntid})
.done(function( data ) {
alert( "Data Loaded: " + data );
});