将Javascript变量发布到PHP文档

时间:2014-09-18 01:18:31

标签: javascript php jquery html ajax

我想在我的标签中获取data-id的值并将其传递给PHP变量。

<a data-toggle="modal" data-id="<?=$adminid;?>" href="#view_contact" class="btn btn-info btn-xs view-admin">View</a>

我已经使用下面的javascript获得了data-id的值并将其放入变量中,但它不在页面上发布。

$(document).on("click", ".view-admin", function () {
 var adminid = $(this).data('id');

 $.post("index.php", {admin_to_pass: adminid});

});

我试过这样做......

print_r($_POST);

但是显示的数组是空的我在这里做错了什么?有点新的。

1 个答案:

答案 0 :(得分:1)

如果您尝试在同一页面上发帖(无论如何这都是个坏主意),您应该在该PHP catch块上始终有exit/die;,并在{ {1}}。

示例:

模拟JS:

$.post

这里是PHP(同一页面):

<?php $adminid = 1; ?>
<a data-toggle="modal" data-id="<?=$adminid;?>" href="#view_contact" class="btn btn-info btn-xs view-admin">View</a>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).on("click", ".view-admin", function () {

    var adminid = $(this).data('id');
    $.post("index.php", {admin_to_pass: adminid}, function(response){
        console.log(response);
    });

});
</script>

或者

if($_SERVER['REQUEST_METHOD'] == 'POST') {
    echo json_encode($_POST['admin_to_pass']);
    exit; // this is important
}

因为在你当前的代码中你没有,你需要成功的回调函数来处理来自服务器的响应:

if(isset($_POST['admin_to_pass'])) {
    echo json_encode($_POST['admin_to_pass']);
    exit; // this is important
    // you must have this or you'll catch the whole document
}