Ir para conteúdo
Fórum Script Brasil
  • 0

Ajax Lógica


Eric Freitas

Pergunta

Então pessoal o problema ta ae quando abro normal o link da discografia ele abre direitinho mas se aperto f5 ele chama a pag tem resposta dos dados mas o conteúdo não é criado..

var Ajax = {
        
        Ajax:function(){
            var params = {    
                    path: Ajax.getQuery('path'),
                    static: Ajax.getQuery('static'),
                    dinamic:Ajax.getQuery('dinamic'),
                };
            if(params.path == undefined) params.path = "ajax";
            if(params.static == undefined) params.static = "home";
            
            var urlStatic = params.path+"/"+params.static+".html";
            
            Ajax.setPage(urlStatic);
            if(params.dinamic == 'true') Ajax.setDinamicContent();    
        },
        
        setDinamicContent:function(){
            var params = {    
                path: Ajax.getQuery('path'),
                q: Ajax.getQuery('q'),
                obj: Ajax.getQuery('obj'),
                where: Ajax.getQuery('where'),
                order: Ajax.getQuery('order'),
                limit: Ajax.getQuery('limit')
            };
            
            if((params.q != undefined) && (params.obj != undefined)){
                
                if(params.path == undefined) params.path = "ajax";
                var url = params.path+"/search.php?q="+params.q;
                url+="&obj="+params.obj;
                if(params.where != undefined) url+="&where="+params.where;
                if(params.order != undefined) url+="&order="+params.order;
                if(params.limit != undefined) url+="&limit="+params.limit;
                if(params.obj=='AlbumView'){
                    Ajax.getJson(url,Discografia.setAlbum);
                }
            }    
        },
        
        getJson:function(url,callback){        
            $.getJSON(url, callback);
        },
        
        getQuery : function (variavel){
            var query = window.location.search.substring(1);
            var vars = query.split("&");
            for (var i=0;i<vars.length;i++) { 
                var parte = vars[i].split("=");
                if (parte[0] == variavel) {
                return parte[1];
                }
            }
        },
        
        setPage : function (url){            
            Ajax.loadAjax({
                appendTo:"#content .scroll",
                'url': url
            });    
        },
        
        loadAjax: function (map){
            $(map.appendTo).load(map.url,function(){
                Ajax.ajaxTabs({
                    tabId: '#tabs',
                    errorFunction: ''
                });
            });
        },
        
        ajaxTabs:function (map){
            
            $(function() {
                $(map.tabId).tabs({
                    ajaxOptions: {
                        error: function(xhr, status, index, anchor) {
                            map.errorFunction;
                        }
                    }
                });
            });
        },
        
        ajaxSetup : function (){
            $("#"+Dialog.id).ajaxStart(function(){    
                var dialogParams = {
                        modal: true,
                        title: 'Carregando',
                        show:'slide'
                }
                var textStatus = '<center><img src="images/ajax-loader.gif" /></center>';
                var errorThrown = '<center>Aguarde</center>';

                Dialog.call(dialogParams,textStatus,errorThrown);
            });
            
            $("#"+Dialog.id).ajaxComplete(function(){    
                Dialog.close();
            });
            
            $("#"+Dialog.id).ajaxError(function(event, request, settings){    
                var dialogParams = {
                    modal: true,
                    buttons: {
                        Ok: function() {
                            $(this).dialog('close');
                        }
                    },
                    title: 'Aviso',
                    show:'slide'
                };
                
                var    textStatus = "erro ao abrir página "+settings.url;
                var errorTrown = "ERRO 404";
                
                Dialog.call(dialogParams,textStatus,errorTrown);
            });

        },
            
    };
    
    //discografia
    var Discografia = {
        setAlbum:function(json){
            //lista de albuns
            var ulParent = document.createElement('ul');
            ulParent.setAttribute('id','albuns');
            for(var i in json){
                //albuns
                var liParent = document.createElement('li');
                liParent.setAttribute('id', json[i].id);
                
                var h3 = document.createElement('h3');
                h3.innerHTML = json[i].nome;                
                
                var divImage = document.createElement('div');
                divImage.setAttribute('class','thumbnail');
                
                var imagem = document.createElement('img');
                imagem.setAttribute('src',json[i].thumbnail);
            
                Ajax.getJson("ajax/search.php?q=getlist&obj=MusicaView&where=album_id="+json[i].id+"&order=listorder asc",Discografia.setAlbumMusica);
            
                divImage.appendChild(imagem);
                divImage.appendChild(h3);
                liParent.appendChild(divImage);
                    
                ulParent.appendChild(liParent);
            
            }
            
            var br = document.createElement('br');
            br.setAttribute('style','clear:both;');
            
            ulParent.appendChild(br);
            
            $("#tabs-1").append(ulParent);
            $("#tabs-1").append(br);
        },
        
        setAlbumMusica: function (json){
            var albumId = null;
            var ulParent = document.createElement('ul');
            ulParent.setAttribute('id','list');
            for(var i in json){
                albumId = json[i].album_id;
                //albuns
                var liParent = document.createElement('li');
                liParent.innerHTML = json[i].embed;
                ulParent.appendChild(liParent);
            }
            $("#"+albumId).append(ulParent);
        }
    }


Ajax.ajaxSetup();
Ajax.Ajax();

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...