您好我正在尝试使用$.getJSON
从另一个php文件中检索数据。但是我对JSON有点新意,所以我在这里和那里都缺少一些东西。不知道有人可以帮助我填补空白。目前我试图让细节显示在控制台中。
<script type="text/javascript">
$(document).ready(function(){
$(".login_a").click(function(){
$("#shadow").fadeIn("normal");
var test = $(this).attr('data-id');
var topost = 'getMilestoneDetail.php='+test;
var returnResults = $.getJSON('getMilestoneDetail.php?id='+test,function(data)
{
console.log(data.projectName + " " + data.budget);
});
});
</script>
$id = $_GET['id'];
$sql = "SELECT * FROM projectmilestone where ID = '$id' ";
$query = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$projectName =$row['projectName'] ;
$budget = $row['budget'];
$id = $row['ID'];
$mile1 = $row['mileStone1'];
$mile2 = $row['mileStone2'];
$mile3 = $row['mileStone3'];
$percent1 = $row['percentage1'];
$percent2 = $row['percentage2'];
$percent3 = $row['percentage3'];
}
echo json_encode($row);
答案 0 :(得分:1)
UPDATE2 :因为我猜你只得到一个结果行,所以根本不需要while循环。我的错,因为$row
无法从循环外部访问。所以只需用以下代码替换你的while循环:
$row = mysqli_fetch_array($query, MYSQLI_ASSOC);
然后你只需输出第一行$row[0]
:
echo json_encode($row[0]);
这将显示一个看起来像
的json字符串{"projectName":"abc...", "budget":"12345", .... }
等等。
在您的JavaScript中我不知道您的POST
变量在哪里。而是使用GET
变量尝试$ .getJSON函数。加上(更新)您的json对象将返回到匿名回调函数的参数“data”:
$.getJSON('getMilestoneDetail.php?id=' + test, function(data)
{
//your returned data is saved in the variable "data" which is passed in the anonymous function above
console.log(data.projectName + " " + data.budget);
});
然后你必须在PHP
脚本中寻找一个get变量。
所以替换:
$id = $_POST['id'];
使用:
$id = $_GET['id'];
更新:我对javascript部分进行了更改,因为否则不会返回任何内容。