作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用
对我的数据库进行了 AJAX 调用$.post('getdata.php', {passLong: passLong, passLat: passLat},
function(output){
输出包含在 getdata.php 中编码的 JSON。我正在尝试循环遍历 JSON
$.each(output, function(){
console.log(this.CarParkName);
});
在控制台中,我只是得到“未定义”。 jQuery each 方法应该循环遍历 JSON 并在 map 上绘制标记,当我在同一个文件中使用 PHP 时代码可以工作,但是由于使用 AJAX 从数据库获取数据,它不起作用。
我在循环中尝试了几种不同的方法,但无法找出问题所在。
最佳答案
“我的 JSON 类似于后者,即 [{"Address":"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);
});
你应该很好。
关于php - 使用 jQuery 从数据库循环遍历 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10465233/
我是一名优秀的程序员,十分优秀!