php - Ajax undefined id PHP post
问题描述
所以,我有两个文件 index.php 和 edit.php
主要是我想从 index.php 发送和获取 id 变量并在 edit.php 中打印 echo 以学习 ajax,但我已经尝试了互联网上的每一个教程,我跟着他们,不幸的是我不知道为什么我会收到这个错误,顺便说一下这里的代码:
索引.php
<?php
include ('connection.php');
$query ="SELECT * FROM buku ORDER BY id ASC";
$result = mysqli_query($con, $query);
?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<title></title>
</head>
<body>
<table>
<thead>
<tr>
<td>Id</td>
<td>No Buku</td>
<td>Nama Buku</td>
<td>Tahun Terbit</td>
<td>Action</td>
</tr>
</thead>
<?php
while($row = mysqli_fetch_array($result))
{ ?>
<tr>
<td><?php echo $row['id'] ?></td>
<td><?php echo $row['nobuku'] ?></td>
<td><?php echo $row['namabuku'] ?></td>
<td><?php echo $row['tahunterbit'] ?></td>
<td><button type="buton" class="edit" id="<?php echo $row['id'] ?>">Edit</button>
</td>
</tr>
<?php
};
?>
</table>
<div class="tampil"></div>
<script type="text/javascript">
$(document).on('click', '.edit', function(){
var id = $(this).attr("id");
$.ajax({
type:"post",
url:"edit.php",
data:{id:id},
success:function(data){
$('.tampil').load("edit.php");
}
});
});
</script>
</body>
</html>
</body>
</html>
这是edit.php
<?php
include ('connection.php');
$id = $_POST['id'];
echo $id;
?>
问题是,当我单击按钮 id=edit 时,在我的 index.php 中总是发送未定义的 id,这意味着 id 变量没有正确发送,但是当我将 ajax 部分编辑为警报(id)时,它打印了 id 变量,所以问题是我不知道为什么它不能将 id 变量发送到 edit.php 页面。
谢谢你的帮助
解决方案
问题是您首先使用 ajax 加载 edit.php 并将其发送给它。但是,在您加载了 ajax 请求后,您再次加载了 edit.php,这次没有 id。
您已经在 ajax 请求中获得了响应,您只需使用它。
<script type="text/javascript">
$(document).on('click', '.edit', function(){
var id = $(this).attr("id");
$.ajax({
type:"post",
url:"edit.php",
data:{id:id},
success:function(data){
$('.tampil').html(data);
}
});
});
</script>
推荐阅读
- ffmpeg - windows上的ffmpeg网络摄像头流到sdl
- c++ - if 条件可以是 for 循环吗?
- c - C如何在没有编译器警告的情况下将地址打印为十进制值(不是十六进制)
- rust - 为什么 Rust 认为我的私有类型必须是公共的,除非我使用 pub(crate)?
- processing - 如何在处理中用渐变填充矩形或椭圆?
- python - Pymongo 和 dash 简单的客户端认证项目
- swift - Swift Set Scrollview Subviews Frame Location based off content offset
- python - 将 int64 输入到 keras 并仅使用 int64 处理数据
- javascript - 如何在 JavaScript 中没有“location.reload”的情况下将元素移回其原始位置?
- sql - 在 powershell 中获取 SQL Query_Hash