【发布时间】:2012-12-19 16:01:06
【问题描述】:
我有获取和解析 JSON 数组中数据的代码。它应该为每个数组条目执行此操作,但它只针对第一个条目执行此操作。
$.ajax({
url: url,
dataType: 'json',
success: function(data){
$.each(data, function (key, value){
var mlsnum = value[1];
var address = value[5] + ' ' + value[6] + ' ' + value[7];
var city = value[9];
var state = value[10];
var zip = value[11];
var county = value[12];
var price = value[13];
var sqft = value[17];
var yrblt = value[22];
var bdrms = value[14];
var baths = value[15];
$('#test').html(
'<div class="listing_single">' +
'<div class="listing_img"><a href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' + mlsnum + '"><img class="imgt" src="http://www.universaldynamicmedia.com/sandbox/Images/' + mlsnum + '/HQPhoto-' + mlsnum + '-1.jpeg" /></a></div>' +
'<div class="listing_data">' +
'<div class="listing_single_address "><a class="address_link" href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' + mlsnum + '">' + address + '</a></div>' +
'<div class="listing_single_city">' + city + ', ' + state + ' ' + zip + '</div>' +
'<div class="listing_single_data_spec"><span class="listing_single_price">' + price + '</span>|<span class="data_small">SqFt: ' + sqft + '</span>|<span class="data_small">Year Built: ' + yrblt + '</span>|<span class="data_small"> Bedrooms: ' + bdrms + '</span>|<span class="data_small"> Baths: ' + baths + '</span></div>' +
'</div>' +
'<div class="clear"></div></div>'
);
});
},
error: function(){
alert('There was an error loading your request. <br />Please try again later.');
}
});
数组是 3 维结构的...
{ "0" : [
{ "0" : [
{ "0" : "data1", "1" : "data2"}]}
{ "1" : [
{ "0" : "data1", "1" : "data2"}]}
]}
我认为它只是为.each 第一个维度项目提取数据,而只有一个维度项目。我想我需要将.each 函数向下钻取到第二个维度,但我不知道该怎么做。
【问题讨论】:
-
请您也添加json数据吗?
-
您真的不应该将每个对象作为数组传输。这是维护的噩梦。
-
如果我知道这意味着什么,我可能会同意你的看法。 :/ 这是一个从 mySQL 查询返回的数组,然后是用 PHP 编码的 JSON。我觉得我无法控制它的返回方式。