Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 6路由忽略来自路由的API调用_Angular_Asp.net Web Api - Fatal编程技术网

Angular 6路由忽略来自路由的API调用

Angular 6路由忽略来自路由的API调用,angular,asp.net-web-api,Angular,Asp.net Web Api,我有Angular 6应用程序和WebAPI。我在IIS上部署了Angular应用程序,并在Angular应用程序下为API创建了应用程序 像这样的东西 IIS | |-Angular6App(port:443) | |-ServiceAPI 这背后的想法是使用相同的DNS。所以当调用时,它应该加载angular应用程序。如果被调用,它应该获取数据(意味着调用api服务) 所以现在当我调用它时,它正在从angular应用程序加载默认路由。实际上,我想在调用

我有Angular 6应用程序和WebAPI。我在IIS上部署了Angular应用程序,并在Angular应用程序下为API创建了应用程序

像这样的东西

IIS 
  |
  |-Angular6App(port:443)
       |
       |-ServiceAPI
这背后的想法是使用相同的DNS。所以当调用时,它应该加载angular应用程序。如果被调用,它应该获取数据(意味着调用api服务)

所以现在当我调用它时,它正在从angular应用程序加载默认路由。实际上,我想在调用api时跳过角度路由

Angular应用程序中的路由

[
{路径:'',重定向到:'A',路径匹配:'full'},
{path:'A',component:AComponent,canActivate:[AuthGuard]},
{path:'B',component:BComponent,canActivate:[AuthGuard]},
]
请让我知道我是否可以这样做,以及如何做

谢谢 --抄送

我让它工作了。 在IIS上,使用URL重写忽略serviceapi的模式

在主应用程序(顶级,即..,Angular6App)上设置URL重写,以忽略与*/ServiceAPI匹配的任何URL


希望这对其他人有所帮助。

分享您的代码。我认为使用Web Api部署angular生产静态文件是一种很好的技术,因为我使用spring boot和express部署了angular应用程序,这两种方法都有其独特的部署静态文件的方法。我们只需将通过ng build-prod构建angular应用程序生成的文件(即文件)从dist文件夹复制到speingboot或Expression的静态区域。您的应用程序中定义了其他路由吗?感觉您有一个与
**
路径匹配的路由,并使用默认路由的组件或重定向到默认路由。@DanielWStrimpel我没有指定任何其他路由,除了{path:'logout',component:LogoutComponent}@AbhishekKumar我的确是从dist.API和angular works复制的,当时它被部署为不同的站点/应用程序。问题在于我在IIS中的Angular下创建API应用程序时。(调用API时重定向到默认路由)您可能还希望将规则添加到Angular web.config: