在同一页面上向php传递Javascript变量而不重新加载
我在同一页面上使用ajax将Javascript变量传递到php时遇到问题。我有一个try.php页面,单击按钮后,我希望在不重新加载页面的情况下将值发送到try.php变量 这是我的表单代码,我实际上是在通过数据库记录进行循环在同一页面上向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
<?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
});