這是一箇舊帖子,但它在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