Je trouve votre question intéressante, mais le problème dans son ensemble me semble plutôt un malentendu. Au moins, je vais essayer d'expliquer ma compréhension du problème.
La redirection silencieuse (transparente) fait partie de la XMLHttpRequestspécification (voir ici notamment les mots "... suivez la redirection de manière transparente ..."). La norme mentionne uniquement que l'agent utilisateur (le navigateur Web) peut empêcher ou notifier certains types de redirections automatiques, mais cela n'en fait pas partie XMLHttpRequest. Cela fait partie de la configuration du client HTTP (configuration du système d'exploitation) ou de la configuration du navigateur Web. jQuery.ajaxVous ne pouvez donc pas avoir d'option permettant d'empêcher la redirection.
Vous pouvez voir que la redirection HTTP fait partie du protocole HTTP et non de XMLHttpRequest. C'est donc à un autre niveau d'abstraction ou de la pile réseau. Par exemple, les données du XMLHttpRequestpeuvent être récupérées à partir du proxy HTTP ou du cache du navigateur local, et cela fait partie du protocole HTTP. La plupart du temps, le serveur qui fournit les données et non le client peut influencer la mise en cache.
Vous pouvez comparer l'exigence de votre question avec l'exigence d'empêcher le changement d'adresse IP du serveur Web ou le changement de la route IP pendant la communication. Toutes les choses peuvent être intéressantes dans certains scénarios, mais il y a des parties d' un autre niveau de la pile de communication et ne peuvent pas être gérées par jQuery.ajaxou XMLHttpRequest.
La XMLHttpRequestnorme dit 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 consulter fonction WinHttpSetOption qui peut être utilisée pour définir l' WINHTTP_OPTION_DISABLE_FEATUREoption avec la WINHTTP_DISABLE_REDIRECTSvaleur. Une autre façon est l'utilisation de l' WINHTTP_OPTION_REDIRECT_POLICYoption avec la WINHTTP_OPTION_REDIRECT_POLICY_NEVERvaleur. Une autre fonctionnalité que l'on peut utiliser dans Windows est la fonction WinHttpSetStatusCallback qui peut définir la fonction de rappel reçu des notifications comme WINHTTP_CALLBACK_FLAG_REDIRECT.
Il est donc possible d'implémenter vos exigences en général, 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 jQuery.ajax ou XMLHttpRequest.