这是一个旧帖子,但它在Google中排名很高,所以我会添加我的解决方案。
如果您可以控制ajax响应,则可以使用最终的URL向响应添加标题。
在PHP中,这会是这样的:
header('X-final-url: /some/other/location')
。
然后,在jQuery的,您可以访问该值:
var finalUrl = jqXHR.getResponseHeader('X-final-url');
我的Symfony添加页眉与内核听众:
服务
app.kernel.response_metadata_populator:
class: AppBundle\Listeners\ResponseMetadataPopulator
tags:
- { name: kernel.event_listener, event: kernel.response, method: onKernelResponse }
列表ener类
class ResponseMetadataPopulator
{
/**
* @param FilterResponseEvent $event
*/
public function onKernelResponse(FilterResponseEvent $event)
{
$response = $event->getResponse();
$response->headers->set('X-FINAL-URL', $event->getRequest()->getRequestUri());
}
}
根据[本答案](http://stackoverflow.com/a/8056313/759866),它正在最新的浏览器中实现。 – Benjamin 2016-06-20 21:49:32