Pregunta

¿Hay algo en el encabezado de una solicitud HTTP que me permita diferenciar entre una llamada AJAX y una solicitud directa del navegador desde un cliente determinado? ¿Son las cadenas de agente de usuario generalmente las mismas independientemente?

¿Fue útil?

Solución

Si usas Prototype, jQuery, Mootools o YUI, deberías encontrar un encabezado X-Requested-With: XMLHttpRequest que hará el truco por ti. Debería ser posible insertar cualquier encabezado que desee con otras bibliotecas.

En el nivel más bajo, dado un XMLHttpRequest o un objeto XMLHTTP, puedes configurar este encabezado con el método setRequestHeader de la siguiente manera:

xmlHttpRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

Otros consejos

Después de algunas investigaciones, parece que el mejor enfoque sería simplemente especificar una cadena de agente de usuario personalizada al realizar llamadas AJAX y luego verificar esta cadena de agente de usuario personalizada en el servidor.

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