AngularJS - POST请求在成功完成第一个请求后不发送数据

时间:2016-08-19 15:15:21

标签: angularjs http http-post

这真的很奇怪。我在我的应用程序中使用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");
    }

1 个答案:

答案 0 :(得分:0)

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

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