Pergunta

Existe algo no cabeçalho de uma solicitação HTTP que me permitiria diferenciar entre uma chamada AJAX e uma solicitação de navegador direto de um determinado cliente? As seqüências de agentes do usuário geralmente são iguais?

Foi útil?

Solução

Se você usa protótipo, jQuery, mootools ou yui, você deve encontrar um X-Requestado com: XmlHttPrequest Cabeçalho que fará o truque para você. Deveria ser possível inserir o cabeçalho que você quiser em outras bibliotecas.

No nível mais baixo, dado um XmlHttPrequest ou objeto xmlhttp, você pode definir este cabeçalho com o setRequestHeader Método da seguinte forma:

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

Outras dicas

Após algumas pesquisas, parece que a melhor abordagem seria simplesmente especificar uma string de agente de usuário personalizada ao fazer chamadas AJAX e verificando essa sequência de agente de usuário personalizada no servidor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top