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

标签 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");
    }

最佳答案

找到答案并将其张贴在这里,以防有人遇到类似问题。 为内容类型设置标题有效:

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

关于AngularJS - POST请求在第一次请求成功后不发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39042524/

相关文章:

http - POST 数据是否应该在超时条件下重试?

javascript - 如何设置工具提示 z-index 大于剑道网格标题?

javascript - 如何从 Express.js 发送纯 HTML

AngularJS 普通绑定(bind)与带有重新渲染元素的一次性绑定(bind)

javascript - ng-options 作为指令参数

c - HTTP层如何识别设备类型

java.io.IOException :Bogus chunk size 异常

c# - Java 与 C# 带有 JSON 数据的 HTTP 请求

php - “需要长度”,使用 cURL 发布数据时

json - WordPress 中的 REST-API 只允许 "get"