Donc- J'ai cette requête ajax, voir-. Blonde, environ 6 pieds de haut, ressemble à ceci:Découvrez où Jquery ajax demande est redirigé vers
$.ajax({
url: 'http://example.com/makeThing',
dataType: 'html',
type: 'POST',
data: {
something:someotherthing
},
complete: function(request, status) {
console.log("headers=" + request.getAllResponseHeaders(););
}
});
Ce qui se passe est que la demande de '/ makeThing' renvoie une redirection 302 à une deuxième URL: 'getThing/abc123'. Tout ce que je veux faire est de savoir ce qu'est cette seconde url (par programmation - ça sera différent à chaque fois, donc juste vérifier dans firebug ne m'aide pas). J'ai essayé de replacer les en-têtes de réponse qui reviennent au rappel «complet», mais cela me donne juste ce qui est revenu sur la deuxième demande.
Contraintes: -Je n'ai aucun contrôle sur le serveur sur lequel il s'exécute, juste le js. cadres de commutation -Can si je dois (dojo? Prototype?)
Idéalement, je ferais une sorte de demande d'en-tête uniquement à/makeThing pour savoir ce que l'url de redirection est en obtenant seulement les en-têtes de la réponse 302 initiale.
A défaut (puisque jquery suit automatiquement les redirections et ne semble pas avoir le moyen de passer d'une requête à l'autre), je récupère la réponse finale et l'utilise pour obtenir l'URL de ... quelque chose? L'objet de requête, peut-être?
TLDR: Envoi d'une requête ajax. Framework suit automatiquement la redirection 302 qui en résulte. Comment puis-je savoir où il a été redirigé?
EDIT, Précision: L'URL finale sera différente à chaque appel de temps « makeThing » provoque le serveur pour créer ce qui est ensuite hébergé chez « getThing/abc123 »
Vérifiez avec Firebug. –