ApiController没有将结果返回到$ http.post()请求

时间:2015-05-08 09:10:45

标签: c# angularjs asp.net-web-api

我的angularJS中有以下控制器,

    var user = {
        Username: $scope.username,
        Password: $scope.password
    };


    var promisePost = loginService.post(user);
    promisePost.then(function (result) {
        var res = result.data;
        //TODO: set permissions
    },

这链接到服务,

this.post = function (user) {
    return $http.post(toApiUrl('login'), user);
}

然后在我的API控制器中,我有以下内容,

    [System.Web.Http.HttpPost]
    public IHttpActionResult Post(UserLogin user)
    {
        if (ModelState.IsValid)
        {
            // Validate the specified credentials
            var validationResult = this.ValidateUser(user.Username, user.Password);
            if (validationResult.IsAuthenticated)
            {
                FormsAuthentication.SetAuthCookie(user.Username, false);
                return Ok();
            }
        }

        return Unauthorized();
    }

我的问题是它永远不会返回到我的javascript中的var res = result.data。如果我将api方法完全清空(并将其更改为void),那么它将在调试器中到达该行,因此在此API方法中出现问题。它到达实际返回Ok线,然后才能正常返回。任何想法。?

0 个答案:

没有答案