所以 - 我有这个ajax请求,请参阅 - .大约6英尺高的金发女郎看起来像这样:
$.ajax({
url: 'http://example.com/makeThing',
dataType: 'html',
type: 'POST',
data: {
something:someotherthing
},
complete: function(request, status) {
console.log("headers=" + request.getAllResponseHeaders(););
}
});
发生的事情是'/ makeThing'请求将302重定向返回到第二个url:'getThing/abc123'.我想要做的就是找出第二个网址是什么(以编程方式 - 它每次都会有所不同,所以只需查看firebug对我没有帮助).我已经尝试了回到'完整'回调的响应头,但这只是给了我第二次请求回来的内容.
约束: - 我无法控制正在运行的服务器 - 只有js. - 如果必须,可以切换框架(dojo?prototype?)
理想情况下,我会对/ makeThing执行某种仅限标头的请求,以通过获取初始302响应的标头来找出重定向URL的内容.
如果失败了(因为jquery自动跟随重定向并且似乎没有办法介入请求之间),我会检索最终响应并使用它以某种方式从...获取URL?请求对象,也许?
TLDR:发送ajax请求.框架自动跟随生成的302重定向.我如何确定它重定向到的位置?
编辑,澄清:最后的网址每次都会有所不同 - 调用'makeThing'会导致服务器创建以后在'getThing/abc123'中托管的内容