JavaScript variable is "null"
JavaScript variable is "null"
第30行,我面临$.each(data. data.)的问题。菜单,function()。控制台告诉我"数据为空"。有人能解释一下这是怎么回事吗?由于
function getFoodMenuData () {
var url = 'http://localhost:8888/Tom_Carp_Final_Project/Chorizios/foodMenu.json';
$.getJSON(url, function (data) {
window.localStorage.setItem('choriziosMenu333', JSON.stringify(data));
});
}
function showFoodMenuData () {
var data = JSON.parse(window.localStorage.getItem('choriziosMenu333'));
var images = "";
$.each(data.menu, function () {
images += '<li class="list-group-item"><img style="width: 100%;" src= "' + this.url + '"></li>';
images += '<li class="list-group-item">' + this.description + '</li>';
});
$('#foodMenu').append(images);
}
showFoodMenuData();
您必须调用getFoodMenuData()
,然后在异步$.getJSON
的回调中调用showFoodMenuData()
。
function getFoodMenuData() {
var url = 'http://localhost:8888/Tom_Carp_Final_Project/Chorizios/foodMenu.json';
$.getJSON(url, function(data) {
window.localStorage.setItem('choriziosMenu333', JSON.stringify(data));
showFoodMenuData(); // <--- call this inside the callback
});
}
function showFoodMenuData() {
var data = JSON.parse(window.localStorage.getItem('choriziosMenu333'));
var images = "";
$.each(data.menu, function() {
images += '<li class="list-group-item"><img style="width: 100%;" src= "' + this.url + '"></li>';
images += '<li class="list-group-item">' + this.description + '</li>';
});
$('#foodMenu').append(images);
}
getFoodMenuData(); // <--- call this first
我不会在循环中使用$。我不确定你正在接收的数据的结构,但是你可能需要一个嵌套的循环来获取所有的数据,这应该是可行的。
作为一点,for in循环对对象非常有效。一个原因是迭代器是对象中的键。在本例中,如果在第二个循环中执行console.log(ii),您将看到name或url。
HTML<ul></ul>
Javascript var menu = {
item1 : {
name : "Food1",
url : "https://s-media-cache-ak0.pinimg.com/736x/79/82/de/7982dec0cc2537665a5395ac18c2accb.jpg"
},
item2 : {
name : "Food2",
url : "http://i.huffpost.com/gen/1040796/images/o-CANADIAN-FOODS-facebook.jpg"
}
};
$( document ).ready( function () {
for ( var i in menu ) {
for ( var ii in menu[ i ] ) {
var elem = ii === "name" ? "<p>" + menu[ i ][ ii ] + "</p>" : "<img src=" + menu[ i ][ ii ] + " height='100px'/>"
$( "ul" ).append( "<li>" + elem + "</li>" );
}
}
});
https://jsfiddle.net/dh3ozpxk/相关文章:
- 数组在递归方法中设置为null
- 铬:“;未捕获的语法错误:意外的标记:"
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 来自文本输入null的html javascript变量
- "无法获取/null”;当使用nodejs运行服务器时
- "类型错误:'null'不是对象(正在评估“a.nodeType')”;在phanto
- "访问控制允许原点不允许原点为null"使用jQuery调用web服务时出错
- 为什么"undefined为null或不是对象”;
- 如何解决错误“;错误:外部容器'null'找不到"来自Jssor Slider
- 为什么“"==在JavaScript中为[null]true
- Valums文件上传器给出一个“;访问控制允许原点不允许原点为null"错误
- 如何解决'Cannot read property 'appendChild'null"
- 添加“;b服务器端":数据表中的true给出错误TypeError:g为null
- "类型错误:this.options为null"在OpenLayers.Protocol.HTTP中
- 如何打印“"如果变量的值为null