Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafhael Henrique

Pegar URL dinâmica via Javascript

Recommended Posts

Ola pessoal,

Estou usando um sistema para seleção de filtros em meu site com Ajax, quando o usuário clica em um atributo do menu de pesquisa, além de outras coisas eu pego a URL atual da pagina e depois de tratar as informações e fazer as devidas consultas no DB eu retorno a nova URL e atualizo ela no navegador via AJAX, ou seja, sem refresh na página.

Ai vem o problema. Eu estou usando a função window.location.href para pegar a url, porem como a minha URL é atualizada dinamicamente via ajax, esta função me retorna sempre a mesma URL já que a pagina não da reload.

Exemplo:

URL atual: meusite.com.br/home
URL atualizada por ajax: meusite.com.br/home?app=001

Com a função window.location.href sempre me retornara a primeira URL pois minha pagina não da refresh.

Alguem sabe como contornar esse problema?

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

para pegar o ?app=001 você deve usar:

location.search

mas se é a sua própria APP que muda a url, então você não necessariamente teria que ler da URL, já que "foi você mesmo" que colocou algo lá, ne?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

para pegar o ?app=001 você deve usar:

location.search

mas se é a sua própria APP que muda a url, então você não necessariamente teria que ler da URL, já que "foi você mesmo" que colocou algo lá, ne?!

Boa noite William, obrigado pela ajuda. Deixa eu te explicar melhor a minha necessidade:

estou desenvolvendo uma plataforma onde o usuário vai utilizar filtros para as suas buscas e o retorno dos dados para ele se da sem o reload ou refresh da pagina exatamente como este site: vivareal.com.br faz um busca e usa o menu de filtros para ter uma ideia.

Neste modelo quando o usuário clica em um filtro a URL da pagina é alterada com o pushState do JS e os dados da URL são enviados por Ajax para outro script que faz a consulta no DB e retorna os dados para a listagem.

Este site usou um framework para algumas tarefas, ja no meu caso desenvolvi a lógica toda.

O ponto onde preciso de ajuda é na URL. Eu consigo pegar toda a url ou parte dela via js, até ai tudo bem sem problema. Eu utilizo as variáveis da url para consultar no DB, então quando o usuario adiciona um filtro ou exclui eu atualizo a url com o pushState para que depois eu possa pegar ela novamente e saber quais filtros ja estão selecionados e assim adicionar a minha consulta e é ai que mora o problema:

Como não existe refresh na pagina eu não consigo pegar a URL que eu atualizei com o pushState entende?

Eu sempre vou precisar pegar as variaveis da URL para poder consultar o DB.

Seria como quando você monitora o DOM do documento para identificar mudanças sem reload da pagina, mas neste caso seria a URL da página.

Espero que tenha compreendido e possa me ajudar. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Rafhael, entendi sim.

Então cara, mais simples do que você ler da URL, é você ler do próprio click. Se você tem a informação para colocar no pushState, pegue essa mesma informação e envie o ajax do filtro, no momento do click. Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara, consegui resolver meu problema, estou conseguindo pegar a URL agora, foi um erro meu na verdade, esta funcionando com o pushState.

Não sei se a opção que você deu serviria porque eu uso as variáveis da URL pra saber quais filtros o usuário ja selecionou e em seguida monto minha query para consultar o DB com base nessas variáveis.

Sei que meu sistema de filtros vai funcionar mas não sei se estou aplicando essa técnica da melhor forma. Você ja usou essa técnica alguma vez? Me aconselha a fazer diferente? Pesquisar algum framework?

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta como você fez, ai posso ver e sugerir algo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Alessandro Bodão
      Boa noite irmandade!
       
      Ando reparando de alguns anos pra cá, uma forte tendência em que sites bem dinâmicos e interativos transitam de uma página pra outra sem que a outra página se quer passe por um processo de carregamento, você clica, simplesmente acontece algumas transições nos elementos da página, e de repente, você está em outra página, outro url. De forma suave, nada é carregado, apenas algo acontece e você já está em outra página.
       
      Gostaria de saber como isso é feito pra aplicar em um site que estou desenvolvendo, se é algum framework, alguma ferramenta além do JavaScript...
       
      Trouxe um belo exemplo: https://www.traffic.productions/
       
      Se você chegou até aqui, agradeço desde já!
    • Por Fernando Rafael
      Bom dia, estou baixando arquivos que estão em uma hospedagem própria para serem acessados por um aplicativo que estou desenvolvendo (consigo fazer normalmente utilizando os comandos citado mais a baixo), porém os arquivos ficam salvos na pasta padrão de DOWNLOADS do Android, minha intenção não é ficar acumulando estes arquivos no aparelho, ou esperar que o usuário exclua manualmente, gostaria em salva-los em uma pasta interna do aplicativo para que seja possível excluir automaticamente pelo próprio aplicativo, já tentei como alternativa excluir esses arquivos da pasta DOWNLOADS, mas não consegui...
       
      Segue o código que estou usando para baixar os arquivos, queria adaptar para baixar direto na pasta interna do aplicativo, ou como alternativa caso isso não seja possível, conseguir excluir esses arquivos da pasta DOWNLOADS do Android...
       
      String url = "https://www.site.com/arquivo.pdf"; //Arquivo que vou baixar DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setDescription("Alguma descrição"); request.setTitle("Algum titulo"); //A notificação de conslusão só esta disponível a partir da API 11 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); } //Salvando o arquivo no diretório de Downloads request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "arquivo.pdf"); DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); manager.enqueue(request);  
    • Por AlexandreHenrique
      Olá pessoal. preciso de uma ajuda com o meu projeto de upload.
      O projeto de upload roda no IIS + Php;
      Tenho um script que ta enviando  o arquivo para o diretório correto.
      O problema é que ao tentar acessar esse arquivo via URL, o anexo não abre  e exibe a mensagem abaixo.
       

      Notei que o arquivo ao cair no DIR, ele entra sem permissões (vi em propriedades), se eu editar o mesmo alterando as permissões, ele carrega pela url do meu site.
      Quero que o arquivo enviado pelo script caia no DIR correta com as devidas permissões pra eu poder ler no navegador via URL;
       
      Já tentei resolver de toda forma mas nao tive sucesso;.
      No Apache isso é mais simples, mas no IIS ta complicado;
       
       
       
      Alguem pode me dá uma dica?
    • Por iveusername
      Preciso de ajuda com o serviço de url de suporte ao vivo. Quando recebo um url de Umuly.com no Postman, outras pessoas não devem ter permissão para bater papo usando esse url. Supondo que 10.000 pessoas tenham um bate-papo ao vivo, o serviço deve criar 10.000 novos urls. Qual é a razão por trás disso? Como o serviço gera novos urls para cada um? (Em linguagem .NET Core)
    • Por Ak_Ray
      Pessoal, a pouco tempo troquei o xampp pelo php direto na máquina, o problema é que quando inicio o servidor o require nem o include funcionam. Acredito que o problema seja no php.ini, já tentei fazer diversas alterações, mas nenhuma funcionou.
      Linha onde acredito que esteja o problema :
      ; UNIX: “/path1:/path2”
      include_path = “.:/php/includes”
      ;
      ; Windows: “\path1;\path2”
      ;include_path = “.;c:\php\includes”
      Essa é a configuração padrão, apenas fiz uma alteração abaixo da linha “Unix” tirando o ';", já que no arquivo de php.ini do xampp estava assim. Mesmo assim não funciona =/
      Diretório onde esta a pasta php:
      C:\php
      Ps: tenho certeza que estou chamando o arquivo corretamente, tanto que com o Xampp funcionava normalmente.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.