繁体   English   中英

Javascript:JSON'for loop'

[英]Javascript: JSON 'for loop'

以下Javascript在Safari中显示,但不在Mobile Safari中显示。 任何人都可以看到任何错误?

$("#results").append(data);

var songdata = JSON.parse(data);

var i = 0;

for (i=0;i<=songdata.total;i++)
{
    alert(i);
    var songhtml = "<ul><li><img src=\"" + songdata.data[i].artwork + "\" /></li><li>" + songdata.data[i].title + "</li><li>" + songdata.data[i].artist + "</li><li>" + songdata.data[i].length + "</li><li>" + songdata.data[i].listen + "</li></ul>";
    $("#results").append(songhtml);

}

提前致谢。

JSON.parse不是官方Javascript,并不是所有浏览器都支持。 这可能是你的问题,但我没有手机游戏测试它。

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

下载此文件和

<script type="text/javascript" charset="utf-8" src="/js/JSON2.js"></script>

我必须对MindStalkers进行第二次评论。 我敢打赌你使用非跨浏览器JSON.parse 除此之外,你的循环结构看起来很可疑 - 而且对我来说,为什么你使用标准循环而不是jQuery.each()没有多大意义。

for (i=0;i<=songdata.total;i++)看起来很可疑。 你从0开始,但是继续等于或大于total ,所以你要total + 1次循环。 (我认为这不是JavaScript / JSON数组,因为你使用的是total而不是length 。)

如果total告诉你有多少条目,并且条目从0开始,那么只使用< 如果条目从1开始,请执行此操作。 :-)但是如果你引用了一个无效的songdata[i] ,那么songdata[i].artwork将失败,因为songdata[i]将是未定义的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM