Показать сообщение отдельно
  #1 (permalink)  
Старый 11.11.2010, 15:35
Интересующийся
Отправить личное сообщение для jura4x01 Посмотреть профиль Найти все сообщения от jura4x01
 
Регистрация: 11.11.2010
Сообщений: 29

проблема с JSON объектом в AJAX запросе
function choose(id){
        $("#data").html('');
        $.ajax({
            type: "POST",
            url: "/ajax/"+id.substring(0, id.lastIndexOf('_')),
            cache: false,
            data: "q="+$("#"+id+"_title").val(),
            dataType: 'json',
            timeout: 10000,
            error: function() {$("#data").append('');},
            success: function(data){
                if (data.a !== undefined) {
                    $.each(data.a, function(i, obj) {                        
                            $("#data").append('<div>'+obj.info+'</div>');
                    });
                }
                else if (data.b[0] !== undefined) {
                    $.each(data.b, function(i, obj) {
                        $("#data").append('<div><b>'+obj.title+'</b></br><font color="#a0a0a0">'+obj.info+'</font></div>');
                    });
                }
                $("#data").show();
                $("#data div").click(function(){                    
                    var i = $("#data div").index(this);
                    insert(i,id,data);                        
                }); 
                var i = 0; 
                $("input:text").keypress(function(e){
                    id = $(this).next().attr('id');
                    if (e.keyCode == '13') {
                        if ($("#data").html() !== '') {
                            if ($("#data").children().get(0).tagName == "DIV")
                                insert(i,id,data);
                            else {
                                $("#data center").remove();
                                $("#data").hide();
                                $("#"+id+"_title").focus();
                                clear(id);
                            }                           
                        } 
                        return false;
                    }                   
                });
            }
        });
        return false;
    }

проблема в том, что после первого запроса данные data кэшируются. а хотя запрос всегда приходит новый, в функции выбора применяются старые данные. в чем может быть суть проблемы?
Ответить с цитированием