Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Ошибка в IE6 eval (https://javascript.ru/forum/css-html-internet-explorer/7001-oshibka-v-ie6-eval.html)

dillinger 10.01.2010 15:47

Ошибка в IE6 eval
 
Есть вот такой код:

$(document).ready(function() {
                    
                    $('a.delete-from-favorites').live('click', function() {
                        
                        // Do nothing, if request is on process.
                        if (this.className.search('disabled') != -1)
                        {
                            return false;
                        }
                        
                        // Disable this link and send a request.
                        this.className += ' disabled';
                        var link = this;
                        
                        $.ajax({
                            url: this.href,
                            success: function(response)
                            {
                                var response = eval('('+response+')');
                                
                                if(response.status == 'success')
                                {
                                    var listItem = link.parentNode.parentNode;
                                    var list = listItem.parentNode;
                                    
                                    list.removeChild(listItem);
                                    formFavotiresList();
                                    formFavotiresList();
                                    
                                    if (ScrollableArea('favorites', 'vertical') == true)
                                    {
                                        modifyScrollbarStyle('favorites');
                                    }
                                    
                                    var favoritesItemsCount = document.getElementById('favorites-items-count');
                                    favoritesItemsCount.innerHTML = response.favorits['items'];
                                }
                                else
                                {
                                    link.className = link.className.substring(0, link.className.search(' disabled'));
                                }
                            }
                        });
                        
                        return false;
                    });



все браузеры кроме IE6 обрабатывают нормально а вот Осел6 ругается на эту строчку:
var response = eval('('+response+')');


Помогите вылечить эту проблему.

Octane 10.01.2010 15:50

покажите, какая строка в response приходит

dillinger 10.01.2010 15:56

Если не ошибаюсь то вот так:
{"status":"success","favorits":{"items":10}}

Michael83 11.01.2010 02:49

Цитата:

Сообщение от dillinger (Сообщение 40141)
Если не ошибаюсь то вот так:
{"status":"success","favorits":{"items":10}}

Сложно конечно сказать что там не так работает - проверить сейчас не могу т.к. IE6 нет, но делайте лучше так и не мучайтесь
$.ajax({
  url: this.href,
  dataType: 'json', // явно указываем тип данных
  success: function(response) // response содержит js-объект
  {
  // уберите var response = eval('('+response+')');

http://api.jquery.com/jQuery.ajax/


Часовой пояс GMT +3, время: 12:47.