2014-12-29 100 views
0

我只是在做一個簡單的post請求。在AngularJs的http post請求中訪問重定向標頭

需要知道我能否從成功響應中捕獲重定向URL地址。

Gyazo

,這我怎麼迴應樣子。

我需要來自Response頭的'Location'屬性。你如何訪問它。

Gyazo

$scope.doAltLogin = function(loginName) { 
 
    //send POST req 
 
    $http.post('/bin/ssga/altLoginServlet?method=doAltLogin&loginName=' + loginName) 
 
    .success(function(data, status, headers, config) { 
 
     //receive response 
 
     //$window.location = data; 
 
     conosle.log(headers()); //This shows everything except Location 
 
    }) 
 
    .error(function(data, status, headers, config) { 
 
     alert('doAltLogin failed!'); 
 
    }); 
 

 
};
<a ng-click="doAltLogin(user.loginName)" href="javascript:void(0)">{{user.firstName}} {{user.lastName}}</a>

+1

不可能 – pixelbits

回答

0

好的,謝謝你們。

我發現了一個愚蠢的解決方案。

<a ng-href="/bin/ssga/altLoginServlet?method=doAltLogin&loginName={{user.loginName}}">{{user.firstName}} {{user.lastName}}</a>

它的工作原理。

1

3XX代碼的響應是由透明的瀏覽器的任何AJAX調用服務,因此無法訪問您的腳本此響應。

作爲一種解決方法,您可能需要爲您的前端應用程序所瞭解的不同狀態代碼提供專爲AJAX調用設計的重定向。然後你可以用全局攔截器來提供這樣的響應。