2009-12-17 2 views
1

Я столкнулся с очень странной проблемой, я получаю объект JSON с сайта, основанного на django, и выпрашиваю его с помощью eval(). Он работает во всех других браузерах, кроме всех версий IE. в IE я получаю «переменное_имя» как null или не объект. Я пробовал все, что мог, но пока не повезло.IE8 Json problem

вот мой объект JSON

var results = {"result":[ 
{ 
    "artist":"somevalue", 
    "song":"someothervalue", 
    "file":"filepathvalue", 
    "views":"0", 
    "songid":"1007", 
    "artistimage":"default.jpg" 
}, 

{ 
    "artist":"artistname", 
    "song":"songname", 
    "file":"anotherfilepath value", 
    "views":"0", 
    "songid":"1008", 
    "artistimage":"default.jpg" 
}, 
], 
"prev_page": "0", 
"next_page": "2" 
}; 

Примечание:

alert(results.result[0].song) 

работы просто отлично, но

$('#somediv').html('<span>'+results.result[0].song+'</span>'); 

не работает в IE. Есть идеи?

ответ

5

У вашего массива результатов есть дополнительная запятая в конце. удалите его, и все должно быть хорошо.

},], 

в

}], 
+2

+1 за хорошее место! –

+0

Спасибо, иногда легко все сложно понять. – Mohamed

+0

Это, для записи, является ужасно досадной ошибкой IE. Когда вы добавляете запятую в конце списка, IE анализирует это, поскольку в конце есть дополнительный «неопределенный». Это также означает, что длина отключена на единицу. –