Ayuda: window.location y AJAX
2 seguidores
A ver si me podéis echaruna mano.
El caso es que mediante JS estoy cargando contenido dentro de un div al pinchar en un enlace. Este contenido es html que sale de una consulta a una BBDD.
El caso que funciona todo perfecto, pero no consigo que mediante window.location me escriba la url para que se vea este contenido (también se puede acceder directamente), ya que al usar:
window.location = "la url";
me carga la página, pasando de cargar el contenido en el div.
No sé si me he explicado bien, pero... ¿alguien me puede echar una mano?
¡Gracias!
Usuario desconocido
Gracias a todos.
Al final he reorganizado todo, ya que no "enrutamba" correctamente los links. Al final creo que va a quedar bastante bien.
Cuando lo tenga acabado lo pondré en workchecks para que le echéis un ojo.
Gracias de nuevo.
zigotica
que si carai, que solo tienes que hacerlo así:
/plantilla/#contenido1 o /plantilla/#contenido2 o /plantilla/#contenido3 o ...
tanto si accedes por ajax como escribiendo la url en el navegador te devolverá el contenidoX
Usuario desconocido
Mmmm, pues lo que quiero es cambiar justo lo que vienes después de /plantilla/, por si al usuario se le ocurre utilizarla como permalink.... pero me da a mi no va a ser posible...
Gracias Sergi
zigotica
mambrú
Usuario desconocido
Muchísimas gracias a los dos.
No había pensado que esto les habría encantado a los tipicos emails de phising.
He visto que se puede cambiar parte de la url (window.location.hash). Así que tiraré por ahí, lo que pasa que lo único que consigo es que quede así:
http://www.dominio.com/plantilla/lo-que-cargo-primero
y tras hacer click:
http://www.dominio.com/plantilla/lo-que-cargo-primero#lo-que-cargo-despues
¿No se podría hacer algo para que me cambiara sólo esa parte?
Gracias de nuevo
zigotica
cambiar un parámetro de la URL sí es posible, ojo usando el return false, lo que no puedes es cambiar la URL entera
martincleto
Hace poco un compañero y yo exploramos la posibilidad de hacer algo parecido: en una galería de fotos hecha en js cambiar a conveniencia un parámetro de la url según qué foto cargara el usuario (http://url?numFoto=9)
Obviamente no es posible hacerlo por la razones que expone zigótica, poder modificar la url del navegador en cliente y sin recarga de la página sería el chollo del siglo para los desarrolladores de phising, por ejemplo.
zigotica
mambrú
no puedes, por un simple tema de seguridad. el permalink que quieras usar deberá ser del tipo URL#hashParaAjax, com lo que
- si estás ya en la página haces un return false; y ejecutas el ajax
- si no estás en la página y entras directamente a esa URL debes devolver el contenido de la seccion p bien desde el server directament o bien por ajax
no se si me he explicado
Usuario desconocido
Mmm, no , no es eso lo que quiero. Pero gracias por contestar.
Lo que pretendo es que según yo vaya cargando un contenido u otro dentro del div, en la barra de direcciones también se muestre la url a la que se accedería directamente. Osea, que lo que quiero es poder cambiar la url por otra sin que la ventana del navegador cargue otra página
Ejemplo: Haciendo click en un enlace, que en esta pantalla en vez de :
http://domestika.org/foros/5-programacin_cliente/hilos/75028-ayuda_windowlocation_y_ajax?page=1#post_567768
ponga:
http://domestika.org/foros/5-programacin_cliente/hilos/cualquier-otra-cosa
y que no haga nada más.
¡¡A ver si alguien sabe, porque en google no encuentro nada!!
martincleto
window.location es un comando que se ejecuta cuando se le asigna un valor. Siempre que escribas window.location = "una_url_cualquiera" se ejecutará conforme a lo esperado: cargará "una_url_cualquiera" en la ventana actual.
No sé muy bien qué es lo que quieres hacer, pero si es pintar la url para que sea accedida mediante un enlace, insértala simplemente como el valor del atributo href de ese supueso enlace.