umgeleitet wird So- ich habe diese Ajax-Anfrage, siehe-. Blond, etwa 6 Meter hoch, sieht wie folgt aus:Finden Sie heraus, wo Jquery Ajax Anfrage an
$.ajax({
url: 'http://example.com/makeThing',
dataType: 'html',
type: 'POST',
data: {
something:someotherthing
},
complete: function(request, status) {
console.log("headers=" + request.getAllResponseHeaders(););
}
});
Was passiert, ist, dass der Antrag auf ‚/ makeThing‘ liefert ein 302 auf eine zweite URL umleiten: ‚getThing/abc123‘. Alles, was ich tun möchte, ist herauszufinden, was diese zweite URL ist (programmatisch - es wird jedes Mal anders sein, also hilft mir der Check-In von Firebug nicht). Ich habe versucht, die Antwortheader zu plombieren, die zum "vollständigen" Rückruf zurückkommen, aber das gibt mir nur, was bei der zweiten Anfrage zurückkam.
Einschränkungen: -Ich habe keine Kontrolle über den Server, auf dem gerade läuft - nur die js. -Kann Frameworks wechseln, wenn ich muss (Dojo? Prototyp?)
Idealerweise würde ich eine Art Header-only-Anfrage zu/makeThing tun, um herauszufinden, was die Umleitung URL ist, indem Sie nur die Header der anfängliche 302 Antwort.
Failing das (da jquery automatisch folgt Umleitungen und scheint nicht eine Möglichkeit zu haben, zwischen den Anfragen zu treten), bekomme ich die endgültige Antwort abrufen und verwenden Sie es irgendwie die URL von ... etwas zu bekommen? Das Anfrageobjekt, vielleicht?
TLDR: Senden einer Ajax-Anfrage. Framework folgt der resultierenden 302-Weiterleitung automatisch. Wie finde ich heraus, wohin es weitergeleitet wurde?
EDIT, Klarstellung: Die endgültige URL wird jede zeit calling ‚makeThing‘ bewirkt, dass der Server unterschiedlich sein zu schaffen, was danach auf ‚getThing/abc123‘
gehostet wird
Überprüfen Sie es mit Firebug. –