elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  acceder a url para ver un resultado de ajax
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: acceder a url para ver un resultado de ajax  (Leído 2,836 veces)
franfis

Desconectado Desconectado

Mensajes: 248



Ver Perfil
acceder a url para ver un resultado de ajax
« en: 23 Julio 2014, 19:45 pm »

Hola amigos, sobre el pushState de javascript.  ;D

Supongamos que usando ajax presento algo en la pagina, para indicarlo en el url uso pushState para cambiar la dirección y almacenar en historial(ya que ajax por si solo no lo hace).

Pero, si le doy el link a otra persona para acceder a ese resultado(ajax), le aparecera not found ya que es un link falso.

Como soluciono ese probelma, creo que usando .htaccess pero a que dirección redigiria?  :huh:

Graciass por la ayuda.



« Última modificación: 23 Julio 2014, 19:47 pm por franfis » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: editar .htaccess para acceder a url creado por pushState
« Respuesta #1 en: 23 Julio 2014, 19:53 pm »

¿La url en cuestión existe o simplemente le has cambiado la barra de direcciones? ¿Existe el archivo al que pueda acceder en cuestión?

Si existe el archivo, pero la url es diferente puedes usar mod_rewrite de apache.


En línea

franfis

Desconectado Desconectado

Mensajes: 248



Ver Perfil
Re: acceder a url para ver un resultado de ajax
« Respuesta #2 en: 23 Julio 2014, 20:14 pm »

Si presentamos algo en la pagina con ajax, el url sigue igual por eso uso el pushstate para cambiar la url, si esta url la pegamos en otra pestaña del navegador tendremos como resultado not found como es logico.

Ahora el problema es que cuando alguien quiere acceceder mediante ese link no podra.

Saludos
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: acceder a url para ver un resultado de ajax
« Respuesta #3 en: 23 Julio 2014, 20:25 pm »

Si presentamos algo en la pagina con ajax, el url sigue igual por eso uso el pushstate para cambiar la url, si esta url la pegamos en otra pestaña del navegador tendremos como resultado not found como es logico.

Ahora el problema es que cuando alguien quiere acceceder mediante ese link no podra.

Saludos

¿No hay ninguna URL que te muestre la información una vez cargado el AJAX de tu página inicial? Si es así es completamente lógico que te envie un 404. ¿Para que hacer un push state de un recurso inexsistente?

Lo que necesitas hacer es tener una URL que apunte al contenido cargado por el AJAX. Lo que las páginas hacen por ejemplo es:

Tienen una cabecera y un cuerpo y un archivo digamos index.php. Si cargas el archivo normalmente: index.php, te carga la cabecera y el cuerpo por default. La navegación aquí la hacen transparente usando AJAX y hacen un pushstate para el recurso que carga la información que de otra manera el AJAX estaría cargando.

Este recurso puede ser algo como: index.php?cuerpo=2. Ya las URLs las puedes reescribir como tu quieras: Index/2 o Index/Cuerpo/2 con el mod_rewrite.

En resumen: Si vas a hacer un push state, asegurate que un recurso exista, de lo contrario solo confundes al usuario.
En línea

franfis

Desconectado Desconectado

Mensajes: 248



Ver Perfil
Re: acceder a url para ver un resultado de ajax
« Respuesta #4 en: 23 Julio 2014, 22:19 pm »

Es que estoy usando $.ajax() , no cambia la url.

Por ejemplo: Al entrar a la pagina carga index.php y la url se ve asi http://localhost/pagina/ dentro de esta hago click a un enlace item1 que ejecuta $.ajax() que a su vez retorna un resultado llamando a un archivo php y como el url no se cambia con $.ajax() lo cambio con pushState a http://localhost/pagina/item1 que a su vez lo almacena en el historial para que exista al hacer click en atras y adelante.

Que debo hacer para que al copiar este url http://localhost/pagina/item1 a otra pestaña obtenga resultado.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: acceder a url para ver un resultado de ajax
« Respuesta #5 en: 23 Julio 2014, 22:43 pm »

Tiene que haber un recurso asociado a esa url. Si el contenido de la página es identico al archivo PHP que mandas a llamar desde AJAX simplemente haces un mod_rewrite. Sino lo es, tienes que hacer un recurso que lo sea.

Tu lo que estás preguntando aquí es como hacer la página modular:

Suponiendo que tienes un archivo que se llama pagina.php que te carga el contenido por default puedes hacer uso de variables get como pagina.php?item=1 para acceder directamente al contenido del item 1. Este recurso lo puedes renombrar a como tu quieras con el mod_rewrite.

No hay forma que apache emule una sesion de navegador para que te devuelva el recurso que quieras, necesitas programar el recurso.
« Última modificación: 24 Julio 2014, 05:15 am por MinusFour » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Tutorial] - Login con ajax . Mysql || Php con clases || Ajax « 1 2 »
PHP
Hadess_inf 15 27,031 Último mensaje 9 Diciembre 2010, 02:44 am
por delorian15
Plugin JS para web modular con AJAX.
Desarrollo Web
WarGhost 0 2,514 Último mensaje 28 Mayo 2012, 07:04 am
por WarGhost
Php para llamada de ajax
PHP
madri09 0 1,691 Último mensaje 21 Octubre 2012, 13:53 pm
por madri09
Duda para imprimir un resultado en un jlabel
Java
erikcdlm 2 2,788 Último mensaje 20 Noviembre 2014, 21:01 pm
por erikcdlm
[Resuelto] [Newbie] No puedo acceder a objeto JSON enviado por AJAX
PHP
iGust4v0x 8 4,976 Último mensaje 14 Enero 2015, 21:46 pm
por iGust4v0x
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines