Здравствуйте. Я создаю угловое приложение с ASP.NET MVC и использую веб-интерфейс API для передачи данных, прежде чем интегрировать угловой с моим проектом asp.net, вызовы API работали нормально, но после того, как я настроил угловой с asp.net mvc проект, вызовы API не работают сейчас. Возвращает статус HTTP 200 означает, что вызов в порядке, но ответ
И его заголовки ..
Угловая составляющая ..
apiCall() {
this.http.get('api/Angular').subscribe((data) => {
console.log(data);
})
}
HTTPService
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
@Injectable()
export class HttpService {
local: string = "http://localhost:4545/"
constructor(private http: HttpClient) { }
get(url: string): Observable<any>{
return this.http.get(this.local + url);
}
post(url: string, data: any): Observable<any> {
return this.http.post(url, data);
}
put(url: string, data: any): Observable<any> {
return this.http.put(url, data);
}
}
Это мой макет, где angular настроен для загрузки в проект MVC
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My ASP.NET Application</title>
<base href="/" />
</head>
<body>
<div>
@RenderBody()
</div>
<script src="~/ClientApp/dist/BabyShared/polyfills.js"></script>
<script src="~/ClientApp/dist/BabyShared/runtime.js"></script>
<script src="~/ClientApp/dist/BabyShared/styles.js"></script>
<script src="~/ClientApp/dist/BabyShared/vendor.js"></script>
<script src="~/ClientApp/dist/BabyShared/main.js"></script>
Api Controller ..
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace BabyWeb.Api
{
public class AngularController : ApiController
{
public string Get()
{
return "Angular";
}
}
}
Global.asax.cs
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Даже если я пытаюсь получить доступ к вызову API через браузер, это не удается. Я думаю, что я испортил угловую маршрутизацию и маршрутизацию asp.net в этой конфигурации. Пожалуйста, помогите мне.