0

Это может быть простой сценарий для вас, но не для вас, я пробовал использовать Интернет для этого бу, не нашел ничего полезного.Angularjs - не удалось позвонить в службу веб-api из другого проекта того же решения - VS2015

Сегодня я столкнулся с одним странным сценарием. Я написал веб-сервис api, который возвращает мне объект JSON. Я создал еще один проект для приложения AngularJS под тем же самым решением, но в другом проекте. Когда я звонил в службу $ http из углового приложения, чтобы получить данные из веб-api, он не работал. Первоначально я использовал только хром и firefox. Но когда я открыл угловое приложение в браузере IE, он сработал. Это очень странный сценарий.

В то же самое время я написал один угловой код в проекте web api, и этот угловой код смог получить данные, хотя я открыл угловое приложение в хром или firefox.

Может ли кто-нибудь объяснить, почему хром или firefox не могут получить информацию, если проект отличается.

Угловая Код

var app = angular.module("app", []) 
      .controller("controller", function ($scope, $http, $log) { 
       $http({ 
         url: 'http://localhost:37103/api/employee', 
         method: 'GET', 
         headers: { 'Content-Type': 'application/json' } 

        }) 
        .then(function success(response) { 
         // $scope.employees = response.data; 
         $scope.data = response.data; 
        }) 
        .then(function error(response) { 
         $scope.error = response; 
        }) 

      }); 

HTML:

<body ng-controller="controller"> 
Data:{{data}} 
</br> 
Error: {{error}} 

</body> 

WebAPI Метод присутствует в отдельном проекте под тем же раствором

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Net.Http; 
using System.Web.Http; 
using MyWebAPIService.Models; 

namespace MyWebAPIService.Controllers 
{ 
public class EmployeeController : ApiController 
{ 
    // GET: api/Employee 
    Employee[] employees = { 
     (new Employee { Id=1,Name="A",Gender="Male",Salary=77777}), 
     (new Employee { Id=2,Name="B",Gender="Male",Salary=2222}), 
     (new Employee { Id=3,Name="C",Gender="Female",Salary=55555}), 
     (new Employee { Id=4,Name="D",Gender="Male",Salary=78787}), 
     (new Employee { Id=5,Name="F",Gender="Female",Salary=8888}), 
     (new Employee { Id=6,Name="G",Gender="Female",Salary=4444}), 
     (new Employee { Id=7,Name="H",Gender="Male",Salary=3333}), 
     (new Employee { Id=8,Name="I",Gender="Male",Salary=77777}), 
     (new Employee { Id=9,Name="J",Gender="Female",Salary=45897}) 
    }; 

    public IEnumerable<Employee> Get() 
    { 
     return employees; 
    } 

    // GET: api/Employee/5 
    public Employee Get(int id) 
    { 
     foreach(Employee e in employees) 
     { 
      if(e.Id == id) 
      { 
       return e; 
      } 
     } 
     Employee temp = new Employee(); 
     temp.Id = -1; 
     return temp; 

    } 
} 

}

+0

Пожалуйста, разместите соответствующие биты кода. Очень сложно понять, что представляет собой настоящая проблема, не глядя на код. – frishi

+0

@frishi> Код, вставленный в запрос. –

ответ

0

Похоже проблема была с ASY n call, с помощью ниже ответа я смог решить свою проблему.

http://stackoverflow.com/a/40191484/1997983 
Смежные вопросы