访问AngularJs中http post请求中的重定向标头

时间:2014-12-29 09:39:02

标签: json angularjs http-headers

我只是做一个简单的帖子请求。

需要知道我是否可以从成功响应中捕获重定向URL地址。

Gyazo

以及我的回答如何。

我需要'位置'响应标头中的属性。你如何访问它。

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>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

所有带有 3xx 代码的回复都由浏览器透明地提供给任何AJAX调用,因此无法从您的脚本中访问此响应。

作为一种解决方法,您可以使用您的前端应用程序可能知道的不同状态代码来为AJAX调用设计重定向。然后你可以用全局拦截器来提供这样的响应。

答案 1 :(得分:0)

好的谢谢你们。

我找到了一个愚蠢的解决方案。

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

有效。