Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

96
Visualizações
Mantener la URL original para pushstate

Yo uso la siguiente función:

 $( document ).ajaxComplete(function() { var currenturl = window.location.href; var decodedUri = decodeURIComponent(currenturl); var decodedUri2 =decodedUri.replace("&manufacturer[]=","/").replace("&page=","/").replace("&sort=","/").replace("&order=","/"); history.pushState("", "", decodedUri2); });

Necesito de alguna manera en cada finalización de ajax para cambiar la URL original y la URL no modificada previamente a través de pushState.

Con la función anterior en la primera finalización de ajax, pushState hace el trabajo, pero en la siguiente finalización de ajax, pushState decodedUri2 intenta reemplazar la URL modificada, pero necesito cada vez cambiar la URL original y pushState el resultado. ¿Es eso posible?

¿Alguna idea para lograr esto?

¡Gracias!

EDITAR: reformulación de la pregunta. Cada vez que se completa un ajax, se agregan algunos atributos a la URL y necesito reemplazar esos atributos. Y nuevamente lo mismo con cada solicitud de ajax. Entonces, en realidad, necesito de alguna manera cada vez que se completa una finalización de ajax para presionar el estado de la URL actual después de la finalización de ajax pero desde el estado original.

EJEMPLO : http://ocdemo.eu/desktops .

Si selecciona filtros de la columna izquierda cada vez que la URL cambia con ajax. Entonces, cada vez que necesito que la URL que se muestra sea reemplazada por otra cosa

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Para cualquiera que busque esto, que quiera aplicar pushState sin actualizar la URL de la página. Puede omitir el parámetro por completo, como se indica en los documentos:

https://developer.mozilla.org/en-US/docs/Web/API/History/pushState

Ambos funcionarán:

 history.pushState("", ""); history.pushState("", "", "");

Si está buscando cambiar un parámetro de URL en la llamada AJAX en la URL actual, hay mucha discusión en el hilo:

¿Cómo reemplazar el parámetro url con javascript/jquery?

about 4 years ago · Santiago Trujillo Relatório

0

Tendría que capturar esa URL en una variable y usar eso:

 var initialUrl; $( document ).ajaxComplete(function() { var currenturl = window.location.href; if (!initialUrl) { initialUrl = decodeURIComponent(currenturl); } var decodedUri2 =initialUrl.replace("&manufacturer[]=","/").replace("&page=","/").replace("&sort=","/").replace("&order=","/"); history.pushState("", "", decodedUri2); });
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda