gpt4 book ai didi

angularjs - 前缀 $http url

转载 作者:行者123 更新时间:2023-12-02 11:30:06 26 4
gpt4 key购买 nike

我似乎无法找到看似合理的问题的答案。

我正在使用 $http 服务为我的所有应用程序调用 Web 服务。所有服务器 API 都托管在特定地址。有什么方法可以让 $http 始终在提供的 URL 前面加上 API 服务器前缀吗?

例如,如果我的 API 位于 http://myAPi/API/,我希望能够调用:

$http.get("User")...

相对于:

$http.get("http://myAPI/API/User")

Angular 会在请求中添加服务器地址作为前缀。目的是不让 URL 传播到整个应用程序。

有没有办法用 Angular 来实现这一点?

最佳答案

这是一个老问题,但我前段时间做了一个解决方案

angular
.module('app')
.config(function ($httpProvider) {
$httpProvider.interceptors.push(apiInterceptor);
});

// api url prefix
var API_URL = 'http://localhost:8080/';

function apiInterceptor ($q) {
return {
request: function (config) {
var url = config.url;

// ignore template requests
if (url.substr(url.length - 5) == '.html') {
return config || $q.when(config);
}

config.url = API_URL + config.url;
return config || $q.when(config);
}
}
}

关于angularjs - 前缀 $http url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17166957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com