我有一个挑战,在angularJS上路由以符合代码点火器配置中设置的基本网址
base url = http://localhost:8080/example/
例如,如果我当前的网址是
http://localhost:8080/example/details
并且来自该页面的Angular控制器的角度服务调用就像这样
$http.get("api/gallery/" + 4).success(function (data) {
galleryResource.getAll().$promise.then(function (response) {
console.log(response);
}, function (response) {
console.log(response);
});
调用的网址将是
http://localhost:8080/example/api/gallery/4
但是当网址现在是
http://localhost:8080/example/details/4
和相同的服务被称为将被调用的URL
http://localhost:8080/example/details/api/gallery/4
我现在的问题是,有没有办法确保api url不会跟随地址栏中的当前网址从基本网址开始,因为上面的示例我希望api网址
http://localhost:8080/example/api/gallery/4
当我在页面上使用网址
答案 0 :(得分:0)
您必须获取基本网址或将其设置为AngularJS中的常量。
类似于app.constant('base_url','http://localhost:8080/example');
然后在你的javascript中,网址从
转换$http.get("api/gallery/" + 4)
到
$http.get(base_url + "api/gallery/" + 4)
这是一个如何定义常量的更详细示例: AngularJS constants
基本上,您需要为API设置基本网址,并在每次请求时使用它。这也很有用,因为如果您更改API的URL,也许您将api与api.localhost.com和localhost.com之类的前端分开,您可以将base_url更改为api.localhost.com,一切都会正常工作细