我使用
对我的数据库进行了AJAX调用$.post('getdata.php', {passLong: passLong, passLat: passLat},
function(output){
输出保存在getdata.php中编码的JSON。我正在尝试循环使用JSON
$.each(output, function(){
console.log(this.CarParkName);
});
在控制台中我得到'未定义'。 jQuery每个方法都应该循环通过JSON并在地图上绘制标记,当我将PHP放在同一个文件中时代码工作,但是由于使用AJAX从数据库中获取数据,它不起作用。
我在循环中尝试了一些不同的东西,但无法找出问题所在。
答案 0 :(得分:1)
我通常这样做:
for(var i in output) {
console.log(output[i]);
}
答案 1 :(得分:1)
“我的JSON就像后者,即[{”地址“:”St Nicholas Avenue York Yorkshire“,”CarParkName“:”McArthur Glen Designer Outlet“,”CarParkRef“:”26“}]”
基于评论讨论和您对其他答案的回答,我认为问题是您正在处理字符串,而不是javascript对象。您只需将字符串解析为对象即可。 (我原以为你已经处理过解析成javascript对象的数据了。)
如果字符串看起来完全相同:
[{"Address":"St Nicholas Avenue York Yorkshire",
"CarParkName":"McArthur Glen Designer Outlet","CarParkRef":"26"}]
然后这样做:
// wrap as an object first, a plain array is not valid json
var js = $.parseJSON('{"data":' + output + '}');
$.each(js.data, function() {
console.log(this.CarParkName);
});
你应该好。