2014-02-01 2 views
0

У меня очень простая настройка ASP.NET Web API 2, у которой есть только один контроллер. Контроллер выглядит следующим образом:404 при попытке доступа к службе REST с помощью angularjs

public class ServiceCodesController : ApiController 
{ 
    // GET api/servicecodes 
    public List<ServiceCode> Get() 
    { 
     ServiceCodeRepository _repo = new ServiceCodeRepository(); 
     return _repo.ServiceCodes().ToList(); 
    } 
} 

Используя http://localhost:52491/api/ServiceCodes, я могу видеть результаты в браузере.

В моем угловом приложении, однако, я получаю ошибку 404 при попытке получить доступ к одному и тому же URL-адресу.

app.controller('ServiceCodes', function ($scope, $http) { 
     $scope.serviceCodes = []; 

     $http.get('http://localhost:52491/api/ServiceCodes'). 
       success(function (data, status, headers, config) { 
        $scope.serviceCodes = data; 
       }). 
       error(function (data, status, headers, config) { 
        console.log(status + " sent "+ data); 
       }); 
    }); 

Угловая приложение работает в узле на: 8000

+0

Это может быть проблема с перекрестным доменом. – Chandermani

+0

@Chandermani - Это проблема с перекрестным доменом. Пожалуйста, измените свой комментарий на ответ. – Scott

ответ

2

Как выясняется, и подтвердить @Scott это был крест вопрос домена. Для этого необходимо настроить либо JSONP, либо CORS со стороны сервера. Или запустите приложение и api на том же порту.

+1

Закончено создание CORS. Последующий этот учебник http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api – Scott

Смежные вопросы