49 votes

Ajout d'en-têtes HTTP personnalisés à l'aide de Javascript

J'ai la condition suivante. Sur ma page html, en cliquant le lien d'une Image ("img") ou d'ancrage("un") des balises , je voudrais ajouter mon en-têtes personnalisés pour la requête GET. Ces liens sont généralement pour le téléchargement de contenu dynamique. Ces en-têtes pourraient être SAML en-têtes personnalisés ou spécifiques à l'application en-têtes. Est-il possible d'ajouter ces en-têtes personnalisés à l'aide de JavaScript? Ou si j'ajoute ces via xmlhttprequest, comment puis-je obtenir la fonctionnalité de téléchargement?

Cette exigence est pour IE6 ou 7 seulement.

En ce qui concerne, Srinivas

41voto

Hank Gay Points 36173

Si vous utilisez XHR , alors setRequestHeader devrait fonctionner, par exemple

 xhr.setRequestHeader('custom-header', 'value');
 

PS Vous devez utiliser Hijax pour modifier le comportement de vos ancres afin qu'il fonctionne si, pour une raison quelconque, AJAX ne fonctionne pas pour vos clients (comme un script éclaté ailleurs sur la page).

13voto

Mehrdad Afshari Points 204872

Je pense que la façon la plus simple d'y parvenir est d'utiliser la chaîne de requête au lieu des en-têtes HTTP.

12voto

AnthonyWJones Points 122520

La seule façon d'ajouter des en-têtes de la requête de l'intérieur d'un navigateur est d'utiliser XmlHttpRequest setRequestHeader méthode.

Utilisation de cette demande de "GET" télécharger la ressource. L'astuce est alors d'accéder à la ressource de la manière prévue. Apparemment, vous devriez être en mesure de permettre de l'OBTENIR réponse à être mis en cache pour une courte période, d'où la navigation vers une nouvelle URL, ou la création d'une balise IMG avec une url de src doit utiliser la mise en cache de la réponse de la précédente "GET". Cependant, cela est tout à fait susceptible d'échouer en particulier dans c'est à dire qui peut être un peu d'une loi à lui-même, où le cache est concerné.

En fin de compte je suis d'accord avec Mehrdad, l'utilisation de la chaîne de requête est la plus simple et la plus fiable de la méthode.

Un autre excentrique alternative est d'utiliser un XHR pour faire une demande à une URL qui indique votre intention d'accéder à une ressource. Il peut répondre avec un cookie de session qui sera portée par la demande subséquente pour l'image ou le lien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X