改编自这个问题:Passing Jquery variable to php within a modal
我已经设置了,它应该正常工作,但我得到了未定义的索引错误。
在while循环中:
print '<li>';
print '<a class="btn btn-default" data-toggle="modal" data-id='.$row['id'].' data-target=".bs-example-modal-lg"><img src="'.$row["image"].'" /></a><br>';
print '<a class="btn btn-default" data-toggle="modal" data-id='.$row['id'].' data-target=".bs-example-modal-lg"><h4>'.$row['name'].'</h4></a>';
print '</li>';
我的所有jquery,包括ajax代码:
$(document).ready(function() {
$("body").css("display", "none");
$("body").fadeIn(1000);
$("a.transition").click(function(event){
event.preventDefault();
linkLocation = this.href;
$("body").fadeOut(1000, redirectPage);
});
function redirectPage() {
window.location = linkLocation;
}
});
$(document).on("click", ".btn", function (e) {
e.preventDefault();
alert (id);
var id = $(this).data('id');
alert (id);
$("h4.modal-title").text(id);
//$($(this).attr('href')).modal('show');
$.post('food.php',{id:id},function(data){
alert(data);
alert (id) // <--THIS ALERT WORKS TOO
});
});
php:
<?php
$id = $_POST["id"];
print '<h4>'.$id.'</h4>'
?>
我在$id = $_POST["id"];
上一直收到索引未定义错误。
我似乎无法弄清楚为什么,我已经将我的代码调整为这么多不同的方法,但它们都不起作用。
第一个警报显示,但第二个警报不显示。文本确实放在<div>
内,但不会发送到变量。所有这些都在一个文件中。
我有一种感觉,我的ajax代码遗漏了一些东西。
Var转储显示:
array (size=0)
empty
答案 0 :(得分:0)
使用以下php代码再试一次
<?php
if( isset( $_POST["id"] ) )
$id = $_POST["id"];
else
$id = 'Error: id not exist';
print '<h4>'.$id.'</h4>';
die();
?>
答案 1 :(得分:0)
您已经假设已发布数据。 尝试isset
if(isset($_POST['id']))
{
$id = $_POST["id"];
echo $id;
}