Ich finde Ihre Frage interessant, aber das Problem insgesamt scheint mir eher ein Missverständnis zu sein. Zumindest werde ich versuchen, mein Verständnis des Problems zu erklären.
Die stille (transparente) Umleitung ist Teil der XMLHttpRequestSpezifikation (siehe hier insbesondere die Worte "... folgen Sie transparent der Umleitung ..."). Der Standard erwähnt nur, dass der Benutzeragent (der Webbrowser) bestimmte Arten von automatischen Umleitungen verhindern oder benachrichtigen kann, dies ist jedoch kein Teil von XMLHttpRequest. Dies ist Teil der HTTP-Client-Konfiguration (Betriebssystemkonfiguration) oder der Webbrowser-Konfiguration. Sie jQuery.ajaxkönnen also keine Option haben, mit der Sie die Umleitung verhindern können.
Sie können sehen, dass die HTTP-Umleitung Teil des HTTP-Protokolls und nicht Teil von ist XMLHttpRequest. Es befindet sich also auf einer anderen Abstraktionsebene oder dem Netzwerkstapel. Beispielsweise können die Daten von der XMLHttpRequestvom HTTP-Proxy oder vom lokalen Browser-Cache abgerufen werden und sind Teil des HTTP-Protokolls. Meistens der Server der die Daten bereitstellt, und nicht der Client das Caching beeinflussen.
Sie können die Anforderung aus Ihrer Frage mit der Anforderung vergleichen, um zu verhindern, dass sich die IP-Adresse des Webservers oder die IP-Route während der Kommunikation ändert. All die Dinge können in einigen Szenarien interessant sein, aber es gibt Teile einer anderen Ebene des Kommunikationsstapels und können nicht von jQuery.ajaxoder verwaltet werdenXMLHttpRequest .
Der XMLHttpRequestStandard besagt, dass die Client-Konfiguration Optionen enthalten kann, die eine Umleitung verhindern. Im Fall von "Microsoft World", die ich besser kenne, können Sie sich die WinHttpSetOption- Funktion ansehen, WINHTTP_OPTION_DISABLE_FEATUREmit der die Option mit dem WINHTTP_DISABLE_REDIRECTSWert festgelegt werden kann. Ein anderer Weg ist die Verwendung der WINHTTP_OPTION_REDIRECT_POLICYOption mit dem WINHTTP_OPTION_REDIRECT_POLICY_NEVERWert. Eine weitere Funktion, die man in Windows verwenden kann, ist die WinHttpSetStatusCallback- Funktion, mit der die Rückruffunktion eingestellt werden kann, die einige Benachrichtigungen wie erhalten hat WINHTTP_CALLBACK_FLAG_REDIRECT.
Es ist also möglich, Ihre Anforderungen im Allgemeinen zu implementieren, aber die Lösung ist wahrscheinlich nicht unabhängig vom Betriebssystem oder vom Webbrowser und befindet sich nicht auf der Ebene von jQuery.ajaxoder XMLHttpRequest.