Angular JS:如何为通过$http的所有调用设置上下文路径

Angular JS: How to set context path for all calls through $http?

本文关键字:调用 设置 路径 上下文 http JS Angular      更新时间:2023-09-26

我正在将我的 Angular 应用程序部署在 Web 服务器中,该应用程序可能位于 http://localhost:8080/app-namehttp://foobars.com/ 或其他一些 URL。我对绝对路径没有任何保证 - 有时调用可能需要转到/app-name/foo,有时到/foo,有时到/foobars/foo。换句话说,在上面的样本中有一个移动的部分:/app-name(empty)/foobars。也称为上下文路径。

我知道我可以将<base>用于HTML。我可以包装$http或配置 Restangular 以为所有调用预置上下文路径。

但仍有一些情况我还不知道如何解决。例如,每当指令使用模板时,它也通过裸$http加载。

如何让$http始终对所有请求使用某个特定的基本路径?

您需要

将$httpProvider配置为使用拦截器来修改调用$http将使用的配置。

请参阅此处的拦截器部分:http://docs.angularjs.org/api/ng.$http

这将允许您以所有$http调用所需的任何方式控制上下文路径。