如果 API 在同一项目中,Api 调用将被 $urlRouterProvider.otherwise('/') 阻止

Api calls are blocked by $urlRouterProvider.otherwise('/') if the API is in the same project

在我的 Angular 应用程序开发期结束之前,我参与了两个独立的项目。 WebApi 和 Angular SPA。

现在我正尝试将它们部署到我们的生产服务器,并且由于需要单独的 SSL 证书,我们决定将它们和 运行 合并到同一个项目中。到目前为止一切顺利...

我设法将它们组合在一起并编译了服务器端代码。现在,当我 运行 应用程序时,对 API 的第一次调用会导致带有主页内容(充满 html)的 parse error。我知道这是由于 $urlRouterProviderotherwise 属性,将所有未路由的路径路由到根 "/".

我需要修复它,排除其中包含 /api 的路径,以便绕过 Angular 的路由系统,避开 API 的路径。有什么帮助的想法吗?

编辑:新项目是 WebApi (v2 - Asp.Net)Client App (Angular v1.3.15 的组合在 MVC5 视图上。是的,html5Mode(true) 但如果关闭也不会改变任何东西)。

EDIT2:忘记提及,错误是从 jQuery ajax 调用中引发的,在 angular 范围之外。 :$

有趣的是,我发现 WebApi 的工作方式存在一些其他异常。做了一些研究,发现这是因为最新的 EntityFramework (v6.1.3)。在合并期间,我从 v6.1.1 更新了 EF,因此卸载了 6.1.3 并安装回 6.1.1,问题就解决了!这很奇怪。 EF 6.1.3 应该是一个可靠的版本,没有任何重大更改。很奇怪...

感谢所有发表评论并试图提供帮助的人。

编辑:过了一段时间,我意识到了这一点。 EF 模型应与数据库同步,以便从 WebApi 成功调用数据库。当我进行 ajax 调用并且数据库与模型不同步时,就会出现问题中的问题。我希望这些信息对某人有所帮助。