Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在同一页面上向php传递Javascript变量而不重新加载_Php_Jquery_Ajax - Fatal编程技术网

在同一页面上向php传递Javascript变量而不重新加载

在同一页面上向php传递Javascript变量而不重新加载,php,jquery,ajax,Php,Jquery,Ajax,我在同一页面上使用ajax将Javascript变量传递到php时遇到问题。我有一个try.php页面,单击按钮后,我希望在不重新加载页面的情况下将值发送到try.php变量 这是我的表单代码,我实际上是在通过数据库记录进行循环 <?php foreach($vars as $var){ ?> <form method="POST"> <button class="btn btn-warning btn-sm btn_edit" name="btn_edit" va

我在同一页面上使用ajax将Javascript变量传递到php时遇到问题。我有一个try.php页面,单击按钮后,我希望在不重新加载页面的情况下将值发送到try.php变量

这是我的表单代码,我实际上是在通过数据库记录进行循环

<?php
foreach($vars as $var){
?>
<form method="POST">
<button class="btn btn-warning btn-sm btn_edit" name="btn_edit" value="<?php echo $var['mem_id'];?>">
<span class="glyphicon glyphicon-pencil"></span></button>

<?php
}
?>
在我的try.php页面上,我有以下代码来检查它是否成功通过

<?php if(isset($_POST['btn_edit'])){
        $user_id = $_POST['btn_edit'];
    }?>

需要进行两项修改:

更改1:只有输入元素可以具有
属性。正如您有
一样,它应该被分配一些其他属性,这些属性可以使用jQuery捕获,所以这里我将使用
数据绑定
属性

<button class="btn btn-warning btn-sm btn_edit" name="btn_edit" data-bind="<?php echo $var['mem_id'];?>">

希望我的回答能为您提供您想要的解决方案。谢谢,我已经这样做了,但是当我回显$user\u id时,在从以下数据中删除引号后没有显示任何内容:
{btn\u edit:uid}
我已经编写了
{'btn\u edit':uid}
,注意带btn\u edit的倒逗号,但我现在建议您删除它们,更新的代码将是:
{btn_edit:uid}
您在哪里检查
用户id
,您能告诉我哪些数据被发送到php吗?你能粘贴在浏览器控制台的“网络”选项卡中传递的值吗?@Muhammed,很难在这里的注释中显示调试内容,但是,还是要做一件事,在php标记内php文件的第一行,将这一行放进去,看看它显示了什么,
print\r($\u POST);死亡
请告诉我您希望在哪里看到php结果?希望您正在查看chrome的
inspect element
(开发者控制台)的网络选项卡。您应该检查它的
网络
选项卡。
<button class="btn btn-warning btn-sm btn_edit" name="btn_edit" data-bind="<?php echo $var['mem_id'];?>">
$('.btn_edit').click(function(e){
    var uid = $(this).attr('data-bind');  // Using attr, not val()...
    $.post("try.php",{ btn_edit : uid},
        function(){
        });
    console.log(uid);//I could see the id logged on console
    $('#edit_details').modal('show');
    e.preventDefault();//prevent the form from submitting
});