使用基本URL的Codeigninter AngularJs路由

时间:2016-10-13 12:49:39

标签: php angularjs codeigniter

我有一个挑战,在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

当我在页面上使用网址

  

http://localhost:8080/example/details/4   感谢您的回复``

1 个答案:

答案 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,一切都会正常工作细