iis Angular application Http Request Base Url

f4t66c6m  于 2023-06-23  发布在  Angular
关注(0)|答案(1)|浏览(131)

我有一个Angular 应用程序,我托管在IIS的测试服务器上。它运行在.net核心后端。应用程序托管在虚拟目录上,例如www.myTestApp/crm(其中组成www.myTestApp)。在构建应用程序时,我使用以下命令:ng build --base-href“/CRM”--deploy-url“/CRM/”--prod。
我的angular app的Http请求是从www.mytestapp.com/而不是www.mytestapp.com/crm触发的。在这种情况下,即使在构建时我指定它应该是/crm,angular如何确定基url?
下面是我的一个http请求的例子:

return this.http
            .get("/api/users/IsOutboundAgent")
            .pipe(map((data: any) => {
                this.isOutboundAgent = data;
                return this.isOutboundAgent;
            }));

我知道一个解决方案是在每个http请求之前有一个全局变量,可以根据环境变量设置,甚至使用http拦截。我只是试图理解为什么“crm”部分被省略了。当没有指定路径时,angular是否默认使用不带路径的域名?

nnsrf1az

nnsrf1az1#

问题是在我的http请求中有一个前导斜杠添加到请求中。这导致url相对于网站的根目录,基本上忽略了/crm部分。
我注意到的另一件事是,在设置基本标记时,还建议添加一个尾随斜杠。
Relative URL slash when using base tag
相对URL约定

相关问题