Не работает eval в IE
Здравствуйте!
Не работает функция eval в IE, в Опере работает на ура. success: function(response){ //var data = eval('(' + response + ')'); eval('var data = ' + response); Вариант, который закомментирован был первоначально - не работал. Пробовала var data = eval('(' + response + ');'); тоже не работает. После поиска проблемы в гугле, нашла решение eval('var data = ' + response); работает, но не в IE. Код: Код:
{"item":[{"ID":381570,"Code":"082000000001"}],"count":2,"level":2} |
Имена полей в кавычках — вот что ему не нравится. ФФ тоже, кстати.
|
С именами полей в кавычках все в порядке, они вполне легальны.
|
Kolyaj, хм, ваша правда.
..::Silence::.., вставляем адресную строку IE javascript:eval('var data = {"item":[{"ID":381570,"Code":"082000000001"}],"count":2,"level":2}'); alert(data.count); Как будто все в порядке? |
Я, честно говоря, тоже не вижу проблем.
hogart, с помощью кавычек в имена атрибутов можно добавлять всякие интересные символы, вроде точек, собачек, двоеточий. |
Kolyaj, спасибо, не знал. Хотя не вижу, как бы мне могло это пригодится.
|
Вот и я не вижу ошибок... А IE выдает сообщение: синтаксическая ошибка... указывает на строку с eval =(
Уже мозг кипит.. |
давай ссылку на страничку...
|
..::Silence::.., IE иногда показывает «куда-то не туда». Попробуйте так:
success: function(response){ try { eval('var data = ' + response); } catch(e) { alert(e); } Подебажьте в студии, посмотрите стек вызовов. |
Часовой пояс GMT +3, время: 13:51. |