С текущей структурой, я думаю, вы просто хотите:
jQuery.ajax({
cache: false,
url: "/pendingorders",
type: "GET",
success: function(json) {
$.each(json, function(i,dish){
alert(dish.pk);
});
});
});
У вас был паразит , 'json'
в качестве третьего параметра для each
и запятая после значения успеха (что нормальноно, вероятно, непреднамеренно)
Однако вы можете захотеть сделать верхний уровень объектом, а не массивом из-за перехвата JSON .
Если бы структура была:
{"results":
[{"pk": 7, "model": "pycourt_login.orders", "fields": {"status": 0, "delivered": false, "order_id": "6count1%2", "student_id": 5, "counterid": "counter1", "datetime": "2011-04-05 01:44:01", "dish": 6, "transaction_id": "2008010661301935441", "quantity": 2}},
{"pk": 8, "model": "pycourt_login.orders", "fields": {"status": 0, "delivered": false, "order_id": "9count1%1", "student_id": 5, "counterid": "counter1", "datetime": "2011-04-05 01:44:14", "dish": 9, "transaction_id": "2008010661301935454", "quantity": 1}}]}
Ваша оригинальная каждая строка:
$.each(json.results, function(i,dish){
будет правильным.