我想获得json数组的值使用.each
我在这里设置数组
的值$allRecords= array();
while($row = mysql_fetch_array($result)){
$oneRecord[] = array("orderNo"=>$row['order_no'],"orderDate"=>$row['order_date'],"orderTime"=>$row['order_Time']);
array_push(&$allRecords,$oneRecord);
}
echo json_encode($allRecords);
这是我在jquery中做的
$.post("controllers/OrderViewer.controller.php?action=viewOrders",param,function(result){
// var data = JSON.parse(result); // I tried this but doesn't work
// var data= eval(result); // I tried this but doesn't work
$.each(result,function(index,v){
alert(index +" "+ v.orderNo); // return undefined for values
// what should I write here to reach array element
});
});
我应该在。each中写什么来获取数组元素
这是响应数据结构
Array
(
[0] => Array
(
[orderNo] => 1
[orderDate] => 2011-02-12
[orderTime] => 00:00:10
)
[1] => Array
(
[orderNo] => 2
[orderDate] => 2011-02-12
[orderTime] => 11:10:00
)
)
如果index
和v
在您的each()
循环中返回未定义的值,那么result
的值一定不是您认为的。在这里取得进展的唯一方法是让您看到result
实际是什么样子的。
实际上是一个数组吗?如果是,数组中的元素是什么?它们是你所期望的吗?如果它不是数组,那它是什么?
查看result
的最好方法是在each()
循环的开始处设置一个断点,然后在调试器中查看result
。Chrome和Safari自带调试器,需要15分钟来学习如何设置断点,然后检查变量的值,一旦它到达断点。Firefox有一个免费的插件(Firebug),它也提供了一个调试器。IE有一些工具,你可以从MS下载一个调试器。