通过AJAX将JQuery变量传递给Php
我通过payments.php中a href链接中的数据pid将一个变量传递给JQuery,并使用AJAX将该变量传递给pmntPopup.php,但是没有传递该变量 payments.php通过AJAX将JQuery变量传递给Php,php,jquery,ajax,Php,Jquery,Ajax,我通过payments.php中a href链接中的数据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 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>
<?php
if(isset($_POST['pmntid'])) {
$pmntid = $_POST['pmntid'];
} else {
echo "Payment Is Not Carried";
}
?>
<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>
<?php
if(isset($_POST['pmntid'])) {
echo $_POST['pmntid'];
} else {
echo "Payment Is Not Carried";
}
?>
<?php
if(isset($_POST['pmntid'])) {
$pmntid = $_POST['pmntid'];
echo $pmntid;
} else {
echo "Payment Is Not Carried";
}
?>
我已经搜索过这个网站,从我所知道的情况来看,我可能错过了一些非常基本的东西或者做了一些非常愚蠢的事情。。。或者两者兼而有之
控制台POST输出:
Hi@Jay,已经在上面的控制台上发布了一张POST输出的图片,下面的图片显示了弹出窗口输出(如果有帮助):
根据要求,控制台响应输出如下所示:
我不确定您正在使用paymentID变量做什么,但这应该适用于您:
$( ".pmntDetail" ).click(function( ) {
var pmntid = $(this).data("pid");
console.log("ID: ", pmntid);
$.ajax({ ...
尝试这样做,ajax调用的响应将设置为success回调函数的
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( 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>
<?php
if(isset($_POST['pmntid'])) {
$pmntid = $_POST['pmntid'];
} else {
echo "Payment Is Not Carried";
}
?>
<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>
<?php
if(isset($_POST['pmntid'])) {
echo $_POST['pmntid'];
} else {
echo "Payment Is Not Carried";
}
?>
<?php
if(isset($_POST['pmntid'])) {
$pmntid = $_POST['pmntid'];
echo $pmntid;
} else {
echo "Payment Is Not Carried";
}
?>
$(“.pmntDetail”)。单击(函数(事件){
event.preventDefault();
var pmntid=$(此).data(“pid”);
console.log(“ID:,pmntid);
$.ajax({
类型:“POST”,
url:“/UCM/pmntPopup.php”,
数据:{pmntid:pmntid},
成功:功能(数据){
console.log(data);//您将在数据变量中收到响应。
$(“#pmntDetailPopup”).modal({位置:[“5%”});
}
});
});
pmntPopup.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>
<?php
if(isset($_POST['pmntid'])) {
$pmntid = $_POST['pmntid'];
} else {
echo "Payment Is Not Carried";
}
?>
<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>
<?php
if(isset($_POST['pmntid'])) {
echo $_POST['pmntid'];
} else {
echo "Payment Is Not Carried";
}
?>
<?php
if(isset($_POST['pmntid'])) {
$pmntid = $_POST['pmntid'];
echo $pmntid;
} else {
echo "Payment Is Not Carried";
}
?>
[此外,我已经将文件的完整url,即“/UCM/pmntPopup.php”放在您的ajax url参数中]试试这个
<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>
您是否在浏览器的控制台窗口中查看了请求/响应?有错误吗?你回显了“$\u POST['pmntid']”吗?没有,控制台中没有错误,它给出了正确的pmntid。我已经添加了一张显示这一点的图片@Sulthan,是的,我已经回显了
$\u POST['pmntid']
,结果是空的。有东西回显了'21',pmntPopup.php中还有什么?你的更新没有提供更多的信息。这篇文章的“回复”选项卡中有什么?那些换行符和其中的所有内容都是因为代码的格式不正确@WignuAh认为可能是格式错误。在不使用它的情况下再次尝试代码,出现以下错误:PSThttp://localhost/pmntPopup.php x
就好像它现在找不到pmntPopup.php文件一样。没什么区别。抱歉,变量仍然没有通过。@PeterDarmis“在数据索引上使用单引号”,为什么?@Rao基于一个工作示例是的,我尝试了这两种方法,甚至在pid周围用单引号进行了尝试。不幸的是,仍然无法通过。那么@Rao在他的回答中发布数据时,您应该检查您发布数据的路径。如果pmntPopup.php与payments.php位于同一文件夹中,我不知道它在您的服务器中的位置。谢谢Rao,但仍然存在相同的问题,没有通过pmntid。