Проблема в angularjs2 с restful web API
Я делаю AngularJS2 с RESTful веб-API , и получать некоторые ошибки в консоли при вызове HTTP-запрос POST. Ошибки перечислены ниже,
Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.
XMLHttpRequest cannot load http://localhost:64336/api/User/UserLogin. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:51663' is therefore not allowed access.
EXCEPTION: Response with status: 0 for URL: null
Надеюсь, вы поможете
Что я уже пробовал:
Я включил cors в веб-API, например
конфигурация веб-API
public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API configuration and services config.EnableCors(); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); }
Контроллер
[EnableCors(origins: "http://localhost:64336", headers: "*", methods: "*")] public class UserController : ApiController { public HttpResponseMessage UserLogin([FromBody] LoginRequestData objValidate) { UserModelManager _UserModelManagerr = new Models.UserModelManager(); return Request.CreateResponse(HttpStatusCode.OK, _UserModelManagerr.Login(objValidate), GetJSONFormatter()); }
Приложение AngularJS
login(username: string, password: string) { let toAdd = JSON.stringify({ Email: username, password: password }); var headers = new Headers(); headers.append('Content-Type', 'application/x-www-form-urlencoded'); return this._http.post(this._apiUrl, toAdd, { headers: headers }) .map((response: Response) => <user>response.json()); }