Передача сложного объекта в веб-API из углового JS всегда возвращает 404

0

Мой javascript method-

visitorApp.controller('LoginController', function ($scope,$http) {
    $scope.submit = function (isValid) {
        if (isValid) {
            var loginModel = {
                UserName: $scope.UserName,
                PassWord: $scope.Password
            };           

        $http.post(
            '/api/VisitorWeb/VerfiyLogin',
            JSON.stringify(loginModel),
            {
                headers: {
                    'Content-Type': 'application/json'
                }
            }
        ).success(function (data) {
            alert("Hi" +data);
            $scope.message = data;
        });


    }
}

});

Мой метод веб-api -

[HttpPost]
        public UserLoginDomainModel VerifyLogin(UserLoginDomainModel loginModel)
        {
            //do some business logic
            return loginModel;
        }

Мой файл webapiconfig

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));

            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}"
            );
        }
    }

Я получаю 404 ответ от сервера.

"NetworkError: 404 Not Found - http://localhost:43516/api/VisitorWeb/VerfiyLogin"

Я старался следовать этой ссылке POSTing из Angular в.net WebAPI, но некоторые из них не работают для меня.

  • 0
    Это перекрестное происхождение?
  • 0
    глупый вопрос, но ваш интерфейс и бэкэнд работают на одном и том же экземпляре и порте? разве не должно быть так: $ http.post (apiHost + '/ api / VisitorWeb / VerfiyLogin' ..
Показать ещё 4 комментария
Теги:
asp.net-web-api

1 ответ

2
Лучший ответ

Я думаю, у вас есть опечатка здесь:

 $http.post(
            '/api/VisitorWeb/VerfiyLogin',
            JSON.stringify(loginModel),
            {
                headers: {
                    'Content-Type': 'application/json'
                }
            }

Ваш метод обслуживания называется VerifyLogin, а не VerfiyLogin из того, что я вижу.

  • 0
    Вы поймали меня, это была опечатка, которая была проблемой, теперь она работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню