我的目标:实施搜索功能,以显示从USDA NDB API中提取的营养数据。
状态:部分成功
问题:美国农业部对这个物体的结构有点令人讨厌。推荐此屏幕截图:http://imgur.com/a/gOKdk 比萨有第一个关键价值的水,牛奶有能量。
我的问题:
如果我想为所有搜索获取能量,我将如何构建我的ajax调用?
$.ajax({
type: 'GET',
async: false,
url: 'http://api.nal.usda.gov/ndb/reports/?ndbno=' + ndbno[0] + '&type=b&format=json&api_key=',
success: function(results) {
food0 = results.report.food;
console.log(food0);
$("#jsGrid-nutrition").jsGrid("insertItem", {
name: food0.name,
kCal: food0.nutrients[1].measures[0].value,
servingSize: food0.nutrients[1].measures[0].label,
quantity: food0.nutrients[1].measures[0].qty,
carbs: food0.nutrients[4].value + food0.nutrients[4].unit,
fats: food0.nutrients[3].value + food0.nutrients[3].unit,
saturatedFats: food0.nutrients[3].value + food0.nutrients[3].unit,
protein: food0.nutrients[24].value + food0.nutrients[24].unit
});
答案 0 :(得分:1)
您应该循环播放数组并搜索特定的name
:
var energy = '';
$.each(food0.nutrient, function () {
if (this.name == 'Energy') {
energy = this.value;
return false; // == break; return true == continue;
}
});