Pregunta

Básicamente tengo un sitio en su mayoría basados ??en Ajax. Cuando se carga un resultado, parece a través de Ajax, y la barra de direcciones URL cambia de mysite.com a mysite.com/#xyz/A_Random_Title.

A_Random_Title es un título con formato de SEO-friendly de lo cargado, pero lo importante es #xyz. xyz es el ID del resultado cargado y se utiliza para consultar la base de datos con.

¿Hay alguna forma de CodeIgniter puede leer la URL actual de esa manera? Leo no quiere decir que una vez que la página se ha cargado, pero leí una solicitud para que ... la esperanza que tiene sentido!

Gracias!

Jack

¿Fue útil?

Solución

No, está disponible para el navegador sólo , por lo que tiene que lidiar con Javascript. El servidor no puede leerlo.

Explicación:
Básicamente el componente de hash de la URL de la página (la parte que sigue la muestra #) es procesada por sólo el navegador - el navegador nunca se lo pasa al servidor. Esto lamentablemente es parte del estándar HTML y es la misma independientemente de si usted está utilizando Internet Explorer o cualquier otro navegador (y para el caso de PHP o cualquier otra tecnología del lado del servidor).

Esto es lo que Wikipedia dice al respecto:

  

Las funciones identificador de fragmento diferente que el resto de la URI: a saber, su procesamiento es exclusivamente del lado del cliente sin la participación desde el servidor . Cuando un agente (por ejemplo, un navegador web) solicita un recurso de un servidor Web, el agente envía el URI en el servidor, pero no envía el fragmento. En cambio, las esperas agente para el servidor para enviar el recurso, y luego el agente procesa el recurso de acuerdo con el valor fragmento. En el caso más común, el agente desplaza una página web hasta el elemento de anclaje que tiene una cadena del atributo igual al valor fragmento. Otros comportamientos del cliente son posibles

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top