for (i=0;i<=songdata.total;i++)
выглядит подозрительно для меня. Вы начинаете с нуля, но продолжаете равным или большим, чем total
, поэтому вы собираетесь зацикливаться total
+ 1 раз. (Я так понимаю, это не массив JavaScript / JSON, так как вы используете total
вместо length
.)
Если total
говорит вам, сколько существует записей, и если записи начинаются с 0
, тогда используйте просто <
. Если записи начинаются с 1
, сделайте это. :-) Но если вы ссылаетесь на неверный songdata[i]
, то songdata[i].artwork
не удастся, потому что songdata[i]
будет неопределенным.