Ajax Json虽然循环
问题描述:
嗨,我即时尝试从数据库中获得一个值,并显示它作为一个链接在我的导航栏,但我一直都没有成功。Ajax Json虽然循环
与我的JQuery
<script>
$(document).ready(function(){
$.ajax({
type: 'GET',
data: {loadpage: 'table'},
url: 'addtable.php',
success: function(data){
$('.navbar ul').append('<li><a href="#" class="table">'+THE-PHP-ARRAY I WANT TO SHOW+'</a></li>');
}
}); //ajax request
});
</script>
addtable.php
$query = "SELECT * FROM Menus WHERE menuCreator = '".$_SESSION['U_ID']."'";
$result = mysqli_query($con, $query);
$index=0;
while($row = $result->fetch_array()){
$index++;
$data = array(
$index=>$row['menuName']
);
echo json_encode($data);
}
我尝试了很多东西开始。如果我将我的dataType更改为json,它根本不起作用。我试图把它放在$ .each()循环中仍然没有任何作用。如果我去addtable.php它显示
{ “1”: “早餐”} { “2”: “书展”}
这是我的数据库中正确的价值观
对不起如果不是太清楚IM 15,我只能这样做学校之间的任何帮助,将不胜感激提前 感谢
答
json_encode
输出完整的JSON文本,但其输出的一个循环里面你输出一堆的JSON文本相互抵触。结果不是有效的单个JSON文本。
将$data
放入数组中。
将该数组编码为JSON 后循环结束。
然后,当它转换为JavaScript时,您需要遍历该数组(data
)。
答
{"1":"Breakfast"}{"2":"Book Fair"}
不是有效的JSON对象。如果你想编码多个对象,你需要做的是这样的:
[{"1":"Breakfast"}, {"2":"Book Fair"}]
,或者如果你只需要值:
["Breakfast", "Book Fair"]
对于从服务器加载它,你应该使用速记功能jquery.getJSON
我如何循环数据在JavaScript $ .each()? – NaderBesada
该功能记录 - http://api.jquery.com/jquery.each/ - 你不明白什么? (这应该可能是一个新问题,但不是评论)。 – Quentin
不,我的意思是我应该使用每个功能,我没有要求它为错误沟通感到抱歉。我只是想澄清其他的东西,所以我应该把变量$数据,其中包含一个数组,然后把它放入另一个数组和JSON编码? – NaderBesada