【问题标题】:AngularJS - POST request does not send data after first request was successfully madeAngularJS - 成功发出第一个请求后,POST请求不发送数据
【发布时间】:2016-12-26 19:41:20
【问题描述】:

这真的很奇怪。我在我的应用程序中使用 AngularJS。在登录期间,我发出一个 HTTP POST 请求;数据已正确发送,我收到了正确的响应。然后我注销 - 这让我回到登录页面 - 我执行相同的 http req 但数据不是由 post 请求发送的。在 console.log 上,我看到 $scope 数据是正确的——只是没有发送 POST 数据。 如果我对登录页面进行硬刷新,它会再次起作用。所以我的问题是没有刷新就不会发出连续的请求。这是我的登录功能-

$scope.login = function() {    
        var request = $http({
            method: "POST",
            url: URL + "login",
            crossDomain: true,
            data: this.loginData
        });
        request.success(function(data) {                  
            var response = angular.fromJson(data);   
            if(!response["error"]) {
                sessionStorage.email = response["email"];
                sessionStorage.password = response["password"];
                sessionStorage.userId = response["id"];                
                $location.path('/dashboard');                        
            } else {
                $scope.responseMessage = response["message"][0];
            }

        });
        request.error(function(data) {
            console.log(data);
        });
    }

这是我的注销功能 -

$scope.logout = function() {
        sessionStorage.clear();        
        $location.path("/login");
    }

【问题讨论】:

  • 嗯,这可能是一个糟糕的答案,但在顶部放上 var request = null;这将与未以某种方式正确解决的承诺有关。
  • 那行不通:(
  • 尝试通过 $scope 访问 this.loginData。即 $scope.loginData
  • 也没有用!
  • 你用的是什么路由器?尝试使用它导航回登录页面,以便触发正确的角度生命周期销毁事件,并尝试调用 $route.reload();或 $state.reload();在注销方法中。

标签: angularjs http http-post


【解决方案1】:

找到答案并将其发布在此处,以防有人遇到类似问题。 为内容类型设置标题有效:

var request = $http({
            method: "POST",
            url: URL + "login",
            crossDomain: true,
            headers: {
                "content-type": "application/json"
            },
            data: this.loginData
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-07
    • 2011-05-22
    • 2017-03-01
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多