I use a common httpRequest to login, so I could use Redirect::intended(); to lead the user to a url before them being lead to the login page. That all works we
Redirect::intended();
In your controller action use:
$url = Redirect::intended( ... )->getTargetUrl();
(Where ... is the fallback url)
...
Then return it in the JSON response, and use window.location or other to do the redirect.
window.location