PHP 没有收到来自 ajax 的数据
PHP dont receive data from ajax
我对 ajax 和 PHP 有疑问。当我尝试将数据从 ajax 发送到 PHP 时,ajax 似乎工作正常,因为警报正确显示数据(尽管在很短的时间内,下一次消失),但在我的 php 文件不显示任何数据(我用开发人员工具检查但没有结果)
这是我的 ajax 脚本
$(document).ready(function() {
$('#tabla_eventos').on('click', '#guardar_bt', function(e) {
e.preventDefault();
var filaactual = $(this).closest("tr");
var id_evento = filaactual.find("td:eq(0)").html();
var parametros = {
id_evento : id_evento
};
$.ajax({
method: 'POST',
data: parametros,
url: 'detalle_evento.php',
success: function (response) {
location.href='detalle_evento.php';
alert('bien'+' '+id_evento);
}
});
});
});
这是我的 php 文件:
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>
<?php
echo $_POST['id_evento'];
?>
</h1>
</body>
</html>
问题出在您代码中的这一行:
location.href='detalle_evento.php';
脚本从 ajax 接收数据后,页面正在重新加载 POST 中的空数据(因为重新加载是 GET 请求)。
如果您想以这种方式使用此数据,请将此代码添加到您的 HTML(在正文部分)。
<form action="detalle_evento.php" method="post" id="someform">
<input type="hidden" name="id_evento" id="id_evento" value="<?= $_POST['id_evento'] ?>">
</form>
并使用此 JS 代码
document.getElementById("id_evento").value = id_evento;
document.getElementById("someform").submit();
而不是你的这部分代码
$.ajax({
method: 'POST',
data: parametros,
url: 'detalle_evento.php',
success: function (response) {
location.href='detalle_evento.php';
alert('bien'+' '+id_evento);
}
});
我对 ajax 和 PHP 有疑问。当我尝试将数据从 ajax 发送到 PHP 时,ajax 似乎工作正常,因为警报正确显示数据(尽管在很短的时间内,下一次消失),但在我的 php 文件不显示任何数据(我用开发人员工具检查但没有结果) 这是我的 ajax 脚本
$(document).ready(function() {
$('#tabla_eventos').on('click', '#guardar_bt', function(e) {
e.preventDefault();
var filaactual = $(this).closest("tr");
var id_evento = filaactual.find("td:eq(0)").html();
var parametros = {
id_evento : id_evento
};
$.ajax({
method: 'POST',
data: parametros,
url: 'detalle_evento.php',
success: function (response) {
location.href='detalle_evento.php';
alert('bien'+' '+id_evento);
}
});
});
});
这是我的 php 文件:
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>
<?php
echo $_POST['id_evento'];
?>
</h1>
</body>
</html>
问题出在您代码中的这一行:
location.href='detalle_evento.php';
脚本从 ajax 接收数据后,页面正在重新加载 POST 中的空数据(因为重新加载是 GET 请求)。
如果您想以这种方式使用此数据,请将此代码添加到您的 HTML(在正文部分)。
<form action="detalle_evento.php" method="post" id="someform">
<input type="hidden" name="id_evento" id="id_evento" value="<?= $_POST['id_evento'] ?>">
</form>
并使用此 JS 代码
document.getElementById("id_evento").value = id_evento;
document.getElementById("someform").submit();
而不是你的这部分代码
$.ajax({
method: 'POST',
data: parametros,
url: 'detalle_evento.php',
success: function (response) {
location.href='detalle_evento.php';
alert('bien'+' '+id_evento);
}
});