我想使用.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
});
});
我应该写什么。每次获取数组元素
这是响应数据结构
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
)
)
答案 0 :(得分:2)
如果index
和v
在each()
循环中返回未定义的值,则result
的值不得超出您的想象。在这里取得进展的唯一方法是让你看到result
实际上是什么样的。
它实际上是一个阵列吗?如果是这样,阵列中的项目是什么?他们是你期望的吗?如果它不是数组,它是什么?
查看result
的最佳方法是在each()
循环的开头设置断点,并在调试器中查看result
。 Chrome和Safari附带内置调试程序,需要15分钟来学习如何设置断点,然后在变量达到该断点时检查它们的值。 Firefox有一个免费的附加组件(Firebug),它也提供了一个调试器。 IE可以使用调试器从MS下载工具。