【发布时间】:2009-11-18 21:24:09
【问题描述】:
我正在使用 jQuery ajax json 调用将 3 维 PHP 数组检索到 Javascript 中。 PHP 数组如下所示:
$rate[0][1]['name'] = 'guff'; $rate[0][1]['value'] = 'puff'; $rate[0][2]['name'] = 'guff'; $rate[0][2]['value'] = 'puff'; $rate[0][3]['name'] = 'guff'; $rate[0][3]['value'] = 'puff'; $rate[1][1]['name'] = 'guff'; $rate[1][1]['value'] = 'puff'; $rate[1][2]['name'] = 'guff'; $rate[1][2]['value'] = 'puff';我正在尝试查找子数组的长度,例如rate[1].length 当我从 jquery ajax 调用中得到这个时:
jQuery 似乎转换了外部数组,所以rates.length 给了我一个值。但不转换子数组,所以rates[9].length是未定义的
我试过循环遍历数组来手动转换它:
$(rate).each(function(i) { rate[i] = jQuery.makeArray($(this)); console.log(rates[i].length); });但是当我知道有负载时,我得到的值为 1。
这里是 json 字符串的示例:
[{"1":{"name":"单程基地加载","value":"10","default":"0"},"2":{"name":"多程基地loading","value":"50","default":"0"}},{"1":{"name":"City break","value":"70","default":"0 "},"2":{"name":"太阳和沙子","value":"75","default":"0"},"3":{"name":"Backpacker","value ":"90","default":"0"},"4":{"name":"骑马","value":"120","default":"0"},"5": {"name":"Safari","value":"80","default":"0"},"6":{"name":"Golf","value":"85","default" :"0"},"7":{"name":"冲浪和航行","value":"140","default":"0"},"8":{"name":"Road runner ","value":"130","default":"0"},"9":{"name":"Flotilla","value":"150","default":"0"}," 10":{"name":"离岸水手","value":"200","default":"0"},"11":{"name":"风筝冲浪者","value":"300 ","默认":"0"}}]任何想法,帮助都会很棒。我对 json/ajax/jQuery 很陌生。你也许能从我的代码中看出。
干杯,
抢劫。
【问题讨论】:
-
请将您的代码放入
-Tags。
-
json 长什么样子?
-
可能是您的问题出在 PHP 端?你能告诉我们
ajax_load_rates.php发送回 javascript 的 JSON 字符串是什么吗? -
从 db 调用创建数组后,我会 echo json_encode($rates);
-
我已将部分 json 字符串添加到问题中......太长了,无法发表评论