Не работает 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, время: 01:40. |