Je trouve votre question intéressante, mais le problème dans son ensemble me semble être plutôt un malentendu. Au moins, je vais essayer d'expliquer ma compréhension du problème.
La redirection silencieuse (transparente) est la part de XMLHttpRequest
(voir aquí notamment les mots "... suivre de manière transparente la réorientation..."). La norme mentionne seulement que l'agent utilisateur (le navigateur web) peut prévenir ou notifier de certains types de redirections automatiques, mais il ne fait pas partie de XMLHttpRequest
. Il s'agit de la partie de la configuration du client HTTP (configuration du système d'exploitation) ou de la configuration du navigateur Web. Ainsi, jQuery.ajax
ne peut pas avoir d'option permettant d'empêcher la redirection.
Vous pouvez voir que la redirection HTTP est une partie du protocole HTTP et non une partie de XMLHttpRequest
. C'est donc à un autre niveau d'abstraction ou à la pile réseau. Par exemple, les données de la XMLHttpRequest
peut être récupéré à partir du proxy HTTP ou du cache local du navigateur, et c'est une partie du protocole HTTP. Principalement le serveur qui fournissent les données et non le client peuvent influencer la mise en cache.
Vous pouvez comparer l'exigence de votre question avec l'exigence d'empêcher le changement de l'adresse IP du serveur web ou le changement de la route IP pendant la communication. Toutes ces choses peuvent être intéressantes dans certains scénarios, mais il y a des parties de l'architecture de l'entreprise qui ne peuvent pas être modifiées. un autre niveau de la pile de communication et ne peuvent pas être gérés par jQuery.ajax
o XMLHttpRequest
.
El XMLHttpRequest
disent que la configuration du client peut avoir des options qui empêchent la redirection. Dans le cas du "monde Microsoft", que je connais mieux, vous pouvez regarder à WinHttpSetOption qui peut être utilisée pour définir WINHTTP_OPTION_DISABLE_FEATURE
avec l'option WINHTTP_DISABLE_REDIRECTS
valeur. Un autre moyen est l'utilisation de WINHTTP_OPTION_REDIRECT_POLICY
avec l'option WINHTTP_OPTION_REDIRECT_POLICY_NEVER
valeur. Une autre fonctionnalité que l'on peut utiliser dans Windows est la fonction WinHttpSetStatusCallback qui peut définir une fonction de rappel pour recevoir certaines notifications comme WINHTTP_CALLBACK_FLAG_REDIRECT
.
Il est donc possible de mettre en œuvre vos exigences de manière générale, mais la solution ne sera probablement pas indépendante du système d'exploitation ou du navigateur web et ne sera pas au niveau de la technologie de l'information. jQuery.ajax
o XMLHttpRequest
.
0 votes
Cela pourrait aider : stackoverflow.com/questions/1804928/handle-jquery-ajax-redirect
9 votes
Il est étrange que votre backend rapporte un 302 pour un not found, au lieu d'un 404.
1 votes
Duplicata possible de Empêcher la redirection de Xmlhttprequest